为了测试和个人概念证明,我有一个 .exe 文件,它只输出一个简单的字符串,然后调用系统暂停(字面意思system("pause")
是 C++)。
我有一个简单的 Python 脚本,我正在 Windows XP VM 上测试,它在搞砸时执行这些操作:
subprocess.call(r'echo Nothing special. > c:\blank.txt', shell=True)
subprocess.call(r'type pause.exe > c:\blank.txt:ads.exe', shell=True)
subprocess.call(r'start c:\blank.txt:ads.exe', shell=True)
subprocess.call(r'del c:\blank.txt', shell=True)
显然,这些命令单独在命令行上都可以正常工作,为什么在通过 Python 调用时它们不能正常工作?
我收到此弹出错误消息:
blank.txt:ads.exe 遇到问题需要关闭。对此造成的不便,我们表示歉意。
如果您正在处理某事,您正在处理的信息可能会丢失。
该文件也确实被删除了。看来系统暂停只是被delete命令压碎了,当我期望.exe弹出时,等我推回车,然后脚本会继续删除文件。