2

我已经设置了一个 python 脚本来登录到邮件服务器并将文件传输到我机器上映射的远程目录。由于我不希望它每 10 分钟弹出一次,因此我将其保存为 pyw 文件。起初它运行良好,但随后停止运行,显示 0x1 作为 Windows 任务计划程序中最后一次运行的结果。发生这种情况时,我可以在 .py 文件中执行完全相同的代码并且它可以工作,但 .pyw 文件即使我手动运行它也不会。

pyw 文件只有在我将 'os.system("pause")' 行添加到代码的任何位置时才能再次工作,这会强制为该代码行弹出一个命令窗口。如果我再次取出那条线,它会在一天的剩余时间里继续工作,但是当我第二天进来时,它又停止工作了。

我对如何解决这个问题束手无策。我不确定这是否是 pythonw 的问题,或者干扰它的 Windows 任务计划程序出了什么问题,或者其他什么。

4

1 回答 1

0

我遇到了类似的问题。虽然我的代码使用 python.exe 按预期工作,但它无法使用 pythonw.exe。

经过多次调试,我将源代码确定为对 sys.stdout.write() 的调用。使用 pythonw.exe,sys.stdout 为空,因此程序崩溃,但是,静默。我将该调用包装在“如果 sys.stdout 不是无”中,并且程序也开始使用 pythonw.exe。

于 2015-01-27T15:38:29.870 回答