gpt4 book ai didi

python - 将错误异常保存到文件错误中

转载 作者:行者123 更新时间:2023-12-03 08:07:56 25 4
gpt4 key购买 nike

我遇到了一些简单的代码无法正常工作的问题,而我对为什么感到困惑……

errors = open('ERROR(S).txt', 'w')

try:
execfile("AEAPER.py")
except Exception as e:
errors.write(e)

errors.close()

我收到以下错误:
Traceback (most recent call last):
File "C:\Sator.py", line 45, in <module>
periodically(2, -1, +1, callscripts)
File "C:\Sator.py", line 27, in periodically
s.run()
File "C:\Python27\lib\sched.py", line 117, in run
action(*argument)
File "C:\Sator.py", line 36, in callscripts
errors.write(e)
TypeError: expected a character buffer object

我的代码有什么问题,为什么这样做呢?

最佳答案

print语句不同, file.write 函数仅接受字符串。因此,您只需要显式转换为字符串即可:

errors.write(str(e))

当然,在现实生活中的代码中,您通常需要进行一些格式化,因此您常常会对此遗忘。例如:
errors.write('Failed to exec {} with {}'.format(filename, e))

在这里,我们将 format的结果传递给 write,这很好,并且我们将 e作为参数传递给 format,这也很好...我们在中间进行了隐式转换为字符串的事实是容易错过。

实际上,有两种不同的方式将值表示为字符串: str repr ,但是 strprint使用的一种方式,因此它可能就是您想要的。

关于python - 将错误异常保存到文件错误中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18218697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com