python的Popen多行交互

python的Popen多行交互,第1张

概述看到自动化测试的一个例子,RSpec中通过IO.popen进行命令行程序的测试(涉及交互),然后在Python中,Popen的用法有点小的区别,查了一些资料,有些内容整理下,记个笔记:python3中目前用subprocess库Popen,可设置stdin,stdout为PIPEPopen.communicate()是用于一次性通信的辅助函数多行的交互

看到自动化测试的一个例子,RSpec中通过IO.popen进行命令行程序的测试(涉及交互),

然后在Python中,Popen的用法有点小的区别,查了一些资料,有些内容整理下,记个笔记:

python3中目前用subprocess库Popen,可设置stdin,stdout为PIPEPopen.communicate()是用于一次性通信的辅助函数多行的交互式的通信,用write和readline,用的时候注意读写阻塞,按照write->flush->read的顺序,示例代码:
proc.stdin.write(b'2+2\n')proc.stdin.flush()print(proc.stdout.readline())

参考:

Multiple inputs and outputs in python subprocess communicateInteracting with a long-running child process in Python

扩展:

  因为用于自动化测试,不用考虑非阻塞的情况了,还是Ruby的语法糖甜。

 

总结

以上是内存溢出为你收集整理的python的Popen多行交互全部内容,希望文章能够帮你解决python的Popen多行交互所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1183701.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-02
下一篇2022-06-02

发表评论

登录后才能评论

评论列表(0条)

    保存