2

我编写了简单的 python 脚本,它启动 ( os.start(path)) 一个批处理文件并等待它完成 os.spawnv(os.P_WAIT,bat,())

问题是它抛出了一个异常:

“exceptions.EOFError:[Errno 10054] 现有连接被远程主机强行关闭”

该脚本在 Windows 7 64 位上运行,批处理文件包含简单的命令,如 cd..

代码:

import os
bat = r'C:\new folder\start.bat'
os.spawnv(os.P_WAIT,bat,())
print "ok"

有什么建议么?

4

1 回答 1

1

要在 Windows 上运行批处理文件,您实际上必须os.spawn()subprocess.call()带有参数的东西来模拟类似于以下的命令行:

cmd.exe /c "C:\new folder\start.bat"

/c参数cmd.exe告诉它执行提供的命令并退出。您还需要在包含嵌入空格字符的任何路径周围加上双引号,如上所示。

于 2012-09-23T17:31:05.013 回答