每当我使用下面的方法从Python调用c代码可执行文件时,我都会收到“错误的文件描述符”错误。当我从命令提示符运行代码时它工作正常。求救!?
import subprocess
p = subprocess.call(['C:\Working\Python\celp.exe', '-o', 'ofile'], stdin=subprocess.PIPE, stderr=subprocess.STDOUT)
In [84]: %run "C:\Working\Python\test.py"
Error: : Bad file descriptor
答案 0 :(得分:0)
您忘了添加标准输出标志。添加 stdout = subprocess.PIPE ,如下所示:
p = subprocess.call(['C:\Working\Python\celp.exe', '-o', 'ofile'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
现在,请尝试再次运行您的脚本
答案 1 :(得分:-4)
试试这个
import subprocess
p = subprocess.call(['C:\Working\Python\celp.exe', '-o', 'ofile'], stdin=subprocess.PIPE, stderr=subprocess.STDOUT, shell = True)