subprocess,Popen在模块中运行命令

时间:2011-02-15 18:28:47

标签: python subprocess

我想从我的模块中调用二进制程序。我遇到子进程找到二进制文件的问题。

所以我有

myModule/
-classWrappingBinary.py
-binary_file.out

并且在classWrappingBinary.py中我有类似

的东西
sbp.Popen(['./binary_file.out']

哪个不起作用。那么如何才能成功调用Popen命令?我将通过导入模块来使用它,

import myModule
a = myModule.classWrappingBinary.MyClass()

1 个答案:

答案 0 :(得分:0)

您可以查看变量__file__并从中提取目录信息。最可靠的方式是

name = os.path.join(os.path.dirname(__file__) or  ".", "binary_file.out")
subprocess.Popen(name)