python popen执行系统命令并获取返回值。

转载自品略图书馆 http:www.pinluearticle20200311061510011426025.html 说明: 1.  用communicate方法进行交互,直接

转载自品略图书馆 http://www.pinlue/article/2020/03/1106/1510011426025.html

说明:

1.  用communicate方法进行交互,直接读取p.stdout有可能数据还没刷新,会读取不到

2.  windows shell参数表明是否使用windows bat作为执行的环境,因此只有在执行windows系统命令如dir,copy时才必须将此参数设置为True,其他地方True与False执行结果没区别

3.  universal_newlines参数表明输入、输出是否采用文本解析

4.  comnunicate的input参数是用于手式输入参数的,如果是命令行参数参数直接在程序后面加就可以

5.  没有了

import subprocess

proc = subprocess.Popen("E:\\__Projects\\c++\\test\\Debug\\test.exe", stdin = subprocess.PIPE,

stdout = subprocess.PIPE, stderr = subprocess.PIPE,universal_newlines=True, shell = False)

straa = "3\n"

strbb = "4\n"

proc.stdin.write(straa)

proc.stdin.write(strbb)

# p.stdin.close()

try:

outs, errs = procmunicate(timeout=15)

# print(proc.stdout.read())

print(outs)

except TimeoutExpired as e:

proc.kill()

outs, errs = procmunicate()

 

发布者:admin,转转请注明出处:http://www.yc00.com/web/1741228803a4330025.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信