【发布时间】:2022-01-02 17:36:41
【问题描述】:
由于尝试打开文件时出现错误,我无法在 Python 中获取日志文件:文档不是 UTF-8 有效的。
我尝试了以下方法:
import logging
logging.basicConfig(filename='/home/pi/Desktop/logEL.log', filemode='w', format=u'%(asctime)s - %(message)s', level=logging.DEBUG, encoding='utf-8')
还有:
import logging
root_logger= logging.getLogger()
root_logger.setLevel(logging.DEBUG) # or whatever
handler = logging.FileHandler('/home/pi/Desktop/logEL.log', 'a', 'utf-8')
formatter = logging.Formatter(u'%(asctime)s - %(message)s')
handler.setFormatter(formatter)
root_logger.addHandler(handler)
打开日志文件:
【问题讨论】:
-
你在哪个操作中遇到了什么错误?
-
你应该添加
encoding='utf-8' tologging.basicConfig` -
“打开文件”对我来说听起来像是一个操作。请edit您的问题包括回溯。
-
您是否删除了旧的日志文件?您正在附加(
'a'标志),因此您可能会得到一个具有多种不同编码的文件。 -
Python2.7 已过时(并且很长时间以来不受支持)。很难找到一个能记住使用 Python 2.7 处理 Unicode 的所有怪癖(并且有很多怪癖)的人。所以,我认为这个问题是有效的,但是很难找到可以回答的人(并且可能还安装这样的版本)。顺便说一句,您应该尝试使用更好的编辑器打开文件(也许是一个显示无效字符的编辑器)。