我在Windows 7上运行Python 3.3。我有一个脚本,当我这样调用它时,它会成功:
c:\python33\python.exe my_script.py但当我这样调用它时,它会失败:
c:\python33\pythonw.exe my_script.py我想定期使用pythonw启动它,因为它应该每小时运行一次,我不想每次启动时都看到丑陋的控制台窗口。
(我知道脚本在pythonw下会失败,因为(a.)它会立即退出,这应该需要大约两分钟的时间,并且(B)它应该发送一封电子邮件,但它没有。)
我怎么调试它呢?因为pythonw没有显示任何输出,所以我不知道该怎么做。
发布于 2015-11-21 22:15:03
您可以将顶级代码包装在一个记录异常的try-except处理程序中:
import logging
logging.basicConfig(filename=r'C:\TEMP\debug.log', level=logging.DEBUG)
try:
# top-level code
except:
logging.exception('Danger, Robinson!')
raise您可以添加其他日志记录调用,您可以创建一个日志记录对象来对配置进行更细粒度的控制,等等,但作为第一步,这就是我要做的。
如果程序仍然存在,则开始一分为二。删除一半代码,与删除另一半代码(考虑到依赖关系)进行比较。如果一半中断而另一半正常工作(在缺少一半代码的约束下),那么您知道在哪里继续搜索。
https://stackoverflow.com/questions/33844314
复制相似问题