Skip to main content
 首页 » 编程设计

python启动包含暂停命令的批处理文件,抛出异常

2025年05月04日13jiqing9006

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

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

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

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

代码:

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

有什么建议吗?

请您参考如下方法:

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

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

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