# -*- coding:utf-8 -*- __author__ = ‘magicpwn‘ import subprocess import sys reload(sys) sys.setdefaultencoding(‘utf-8‘) # 执行命令的两个函数,新建进程执行系统命令 s = subprocess.check_call(‘dir‘, shell=True) p = subprocess.call(‘dir‘, shell=True) print s, p # 执行命令并捕获系统命令输出结果 result = subprocess.check_output(‘netstat -an‘, shell=True) # 直接调用Popen 设置为进程双向通信,管道通信 proc = subprocess.Popen([‘netstat‘, ‘-an‘], stdin=subprocess.PIPE, stdout=subprocess.PIPE) msg = ‘through stdin to stdout‘ stdout_value = proc.communicate(msg)[0] print ‘\tpass through:‘, repr(stdout_value)
本文出自 “magicpwn” 博客,请务必保留此出处http://magicpwn.blog.51cto.com/10497784/1682429
python Subprocess执行系统命令管道、读取结果【多进程,进程间管道通信】
原文地址:http://magicpwn.blog.51cto.com/10497784/1682429