subprocess
>>> import subprocess
>>> proc = subprocess.Popen('ls | wc -l', stdout=subprocess.PIPE, stderr=subprocess.STDOUT, bufsize=1, shell=True )
>>> proc.wait()
0
>>> print(proc)
<subprocess.Popen object at 0x7f9f985bb710>
>>> print(proc.communicate())
('178\n', None)
https://www.cnblogs.com/security-darren/p/4733368.html
subprocess模块的其他属性
subprocess.PIPE
调用本模块提供的若干函数时,作为 std* 参数的值,为标准流文件打开一个管道。
例4:
使用管道连接标准流文件
|
1
2
3
4
5
6
7
|
import subprocesschild1 = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE)child2 = subprocess.Popen(['wc', '-l'], stdin=child1.stdout, stdout=subprocess.PIPE)out = child2.communicate()child1.wait()child2.wait()print(out) |
这里将子进程 child1 的标准输出作为子进程 child2 的标准输入,父进程通过 communicate() 读取 child2 的标准输出后打印
浙公网安备 33010602011771号