python的Popen多行交互
2021/6/21 11:26:08
本文主要是介绍python的Popen多行交互,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
看到自动化测试的一个例子,RSpec中通过IO.popen进行命令行程序的测试(涉及交互),
然后在Python中,Popen的用法有点小的区别,查了一些资料,有些内容整理下,记个笔记:
- python3中目前用subprocess库
- Popen,可设置stdin,stdout为PIPE
- Popen.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 communicate
- Interacting with a long-running child process in Python
扩展:
因为用于自动化测试,不用考虑非阻塞的情况了,还是Ruby的语法糖甜。
这篇关于python的Popen多行交互的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python
- 2024-03-12python colon equals