【发布时间】:2018-05-14 12:04:01
【问题描述】:
我可以编写代码,但在调用可执行文件后冻结。我在 StackOverflow 和其他任何地方都搜索过答案,但没有成功。
对于 Linux 和我在下面作为示例描述的相同代码,该问题已得到解答,但它不适用于 windows。任何意见都会有很大帮助。
import subprocess
for filename in 'inp1.txt', 'inp2.txt': #input text files
with open(filename) as infile, open('result_{}'.format(filename), 'w') as outfile:
result = subprocess.run([r'C:\Users\Desktop\Python_files\file.exe'], stdin=infile, stdout=outfile) # executable name is file.exe
当代码用于 Windows 时,它会冻结。任何人都可以提供任何意见吗?
【问题讨论】:
-
可以发
file.exe的内容吗? -
代码对我来说看起来不错。我的第一个猜测是
file.exe挂了。 -
我没有 file.exe 的源代码,因为它是高度机密的。我只使用可执行文件。
-
可能值得将 stderr 发送到某个地方,看看其中是否有任何线索。
-
@TomDalton 我认为代码在“result=.....”行中冻结,因此即使通过 stderr 也无济于事
标签: python python-3.x subprocess