Python 脚本在 运行 到 windows 时突然退出
Python script suddenly exiting when being run through windows
我正在从另一个程序 (Stata) 调用 Python 脚本,该程序具有调用操作系统 (shell/winexec) 的命令。这反过来会打开一个系统 window,您可以在其中看到 Python 脚本 运行ning。有时脚本 运行 很好,有时它在完成之前突然退出。我不知道为什么。当我 运行 IDLE 中的脚本时,我从来没有遇到过这个问题。我正在使用 Windows 和 Python 3.4.
我已经尝试通过记录 Python 脚本来捕捉错误,但是没有错误被记录在那里。一切似乎都正常工作,直到程序刚刚退出(并不总是在同一点)。另外,我正在调用 7 个脚本,其中只有两个有这种突然退出的问题(同样,它们总是 运行 通过 IDLE 正常)。我尝试更改调用脚本的顺序并使用 shell 而不是 winexec,反之亦然。在这一点上,我什至不知道该尝试什么。是操作系统吗? Python?斯塔塔?任何想法将不胜感激!
没有 Martineau 就无法解决这个问题!发布答案以防有人遇到类似(看似)神秘的错误。
首先,我按照 Martineau 的建议记录了错误:
import logging
logging.basicConfig(filename='C:/MyLog.log',level=logging.DEBUG)
try:
[all my code]
except Exception as e:
logging.info(e)
这记录了错误:"charmap' codec can't encode character '\u2013' in position 448: character maps to undefined"。由于某些超出我的薪水等级的原因,IDLE 和 python.exe(在 Python 3.4 中)不以相同的方式处理编码。这就是导致问题的原因(并且只有在出现特殊字符时,这就是为什么它不会每次都崩溃)。
我寻找编码问题的解决方案并找到了 。基本上,我从 Python 3.4 升级到 Python 3.6,编码问题就消失了。
我正在从另一个程序 (Stata) 调用 Python 脚本,该程序具有调用操作系统 (shell/winexec) 的命令。这反过来会打开一个系统 window,您可以在其中看到 Python 脚本 运行ning。有时脚本 运行 很好,有时它在完成之前突然退出。我不知道为什么。当我 运行 IDLE 中的脚本时,我从来没有遇到过这个问题。我正在使用 Windows 和 Python 3.4.
我已经尝试通过记录 Python 脚本来捕捉错误,但是没有错误被记录在那里。一切似乎都正常工作,直到程序刚刚退出(并不总是在同一点)。另外,我正在调用 7 个脚本,其中只有两个有这种突然退出的问题(同样,它们总是 运行 通过 IDLE 正常)。我尝试更改调用脚本的顺序并使用 shell 而不是 winexec,反之亦然。在这一点上,我什至不知道该尝试什么。是操作系统吗? Python?斯塔塔?任何想法将不胜感激!
没有 Martineau 就无法解决这个问题!发布答案以防有人遇到类似(看似)神秘的错误。
首先,我按照 Martineau 的建议记录了错误:
import logging
logging.basicConfig(filename='C:/MyLog.log',level=logging.DEBUG)
try:
[all my code]
except Exception as e:
logging.info(e)
这记录了错误:"charmap' codec can't encode character '\u2013' in position 448: character maps to undefined"。由于某些超出我的薪水等级的原因,IDLE 和 python.exe(在 Python 3.4 中)不以相同的方式处理编码。这就是导致问题的原因(并且只有在出现特殊字符时,这就是为什么它不会每次都崩溃)。
我寻找编码问题的解决方案并找到了