赞
踩
实际项目中,有时需要调用exe可执行文件,查阅了许多资料,发现常用的有os.popen、os.system和subprocess.Popen,
os.system() 会保存可执行程序中的打印值和主函数的返回值,且会将执行过程中要打印的内容打印出来;
import os
exe_path = r'xx/xxx.exe'
res = os.system(exe_path)
os.popen() 会保存可执行程序中的打印值,但不会保存主函数的返回值,也但不会将执行过程中要打印的内容打印出来
with os.popenexe_path, "r") as f:
r = f.readlines()
但我的项目中使用os.popen和os.system都是报错:‘xxx’ 不是内部或外部命令,也不是可运行的程序或批处理文件,如下:
上图中的extend是我存放exe文件的目录。
最后使用subprocess.Popen调用成功。
import subprocess
subprocess.Popen(exe_path, shell=False, close_fds=True)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。