在Windows下的一个文件可执行文件上的subprocess.check_output的Pyinstaller问题

时间:2014-01-31 15:14:42

标签: python windows subprocess pyinstaller

在我的应用程序中需要运行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

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

确定。自己解决了。使用os.popen命令完成相同的任务。为了完整起见,请在下面发布解决方案代码: -

out = os.popen("path/to/7zip l path/to/archieve").read()  
print out