实例没有属性“\uu str\uuu”

2024-05-06 23:42:56 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试将对象转换为字符串时(在本例中记录时),有时(极少数情况下)会因给定的错误而失败。我应该在什么时候看到这种行为?你知道吗

在myobj中有一句冒犯的话:

log.warning("Instance is %s", self)

正在抛出一个stacktrace,其结尾为:

File "/usr/lib64/python2.6/logging/__init__.py", line 306, in getMessage
    msg = msg % self.args
exceptions.AttributeError: myobj instance has no attribute '__str__'

这很奇怪,因为myobj没有__str__方法,对它调用str的工作方式和我手动测试它时的工作方式一样。我无法复制这个。你知道吗

什么会导致这种行为?在google上搜索这个问题的标题会得到不到1页的结果,这让我相信这是一个百万分之一的竞争条件,有垃圾收集器之类的。你知道吗


Tags: 对象instance字符串selflog错误方式记录