2011-02-15 37 views
0

我想从我的模块中调用一个二进制程序中运行命令。我有问题找到二进制的子进程。子,POPEN到模块

,所以我有

myModule/ 
-classWrappingBinary.py 
-binary_file.out 

和classWrappingBinary.py我有类似的财产以后

sbp.Popen(['./binary_file.out'] 

它不工作。那么我怎样才能成功地调用Popen命令呢?我要去通过导入模块一样使用它,

import myModule 
a = myModule.classWrappingBinary.MyClass() 

回答

0

你可以看一下变量__file__,并从中提取的目录信息。最可靠的方法是

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