当程序中发生错误时,您需要创建一个带有文本的文件,该文件将 python 本身返回给 cmd。
例如:
from tkinter import*
root = Tk()
lab = Label(root, text="")
lab.pack()
def func(a,c):
lab['text'] = str(a / c)
root.after(100,func=func(a,c))
root.mainloop()
在示例中,错误为: NameError: name 'a' is not defined
运行脚本时,在脚本的当前工作目录中查找文件
error.txt:sys.excepthook用于捕获未被捕获的异常(try/except)traceback.format_tb用于获取异常文本和堆栈跟踪(控制台中的文本)在这里,我将阐明相对类型路径
error.txt相对于当前工作目录起作用。当前目录不一定在包含脚本的文件夹中。并且在不指定完整路径的情况下写入(或读取)文件时,将在当前工作目录中进行精确搜索。例如,如果您在 C:/ 驱动器的根目录下打开控制台并在桌面上从它运行脚本,那么当前工作目录将是 C:/ 驱动器的根目录。为了使桌面成为工作目录,您必须进入它并从中调用它。但这不仅适用于控制台,而且,例如,在快捷方式的属性中,会指示工作目录的位置。如果您希望将该文件与脚本完全保存在文件夹中,则需要使路径完整。使用脚本保存到当前文件夹的改进:
os.path.dirname(__file__)- 将使用脚本文件返回当前目录的路径(此选项不提供某些特定情况,与此解决方案不同)os.path.join- 将有助于正确组合目录和文件的路径