pyw文件间歇性不工作 / 任务调度器

2 投票
1 回答
698 浏览
提问于 2025-04-17 20:38

我有一个Python脚本,它的功能是登录到邮件服务器,然后把文件传输到我电脑上一个远程目录里。因为我不想每10分钟就弹出一次窗口,所以我把它保存成了一个pyw文件。最开始它运行得很好,但后来就不行了,在Windows任务计划程序中显示最后一次运行的结果是0x1。当这种情况发生时,我可以在.py文件中运行完全相同的代码,它能正常工作,但.pyw文件即使我手动运行也不行。

这个pyw文件只有在我在代码的某个地方加上一个‘os.system("pause")’的行时才会再次工作,这样会强制弹出一个命令窗口来执行那行代码。如果我把那行代码去掉,它在当天的剩余时间里会继续工作,但第二天我再来时,它又不工作了。

我真的不知道该怎么解决这个问题。我不确定是pythonw出了问题,还是Windows任务计划程序有什么干扰,或者是其他原因。

1 个回答

0

我遇到了类似的问题。我的代码在使用python.exe时运行正常,但在使用pythonw.exe时却不行。

经过一番调试,我发现问题出在调用sys.stdout.write()这个地方。使用pythonw.exe时,sys.stdout是空的,所以程序会崩溃,但没有任何提示。我在这个调用前加了一个判断“如果sys.stdout不是空的”,结果程序在pythonw.exe下也开始正常工作了。

撰写回答