在我的应用程序中需要运行subprocess.check_output
来捕获7zip的ouptupt。我正在使用的简单代码是
output = subprocess.check_output(["path/to/7zip", "l", "path/to/archieve"], shell=True)
print output
AS预计从IDE运行它时效果很好。在使用pyinstaller编译成onefile可执行文件后,同样疯狂并且无法正常工作。即使将脚本转换为可执行文件,其他子进程命令subprocess.call
仍然可以正常工作。如何在可执行文件中使用subprocess.check_output
?
我使用以下内容: -
Windows 7
Python 2.7.5
PyQt4中
Pyinstaller 2.1
感谢任何帮助。
答案 0 :(得分:1)
确定。自己解决了。使用os.popen
命令完成相同的任务。为了完整起见,请在下面发布解决方案代码: -
out = os.popen("path/to/7zip l path/to/archieve").read()
print out