我从Python手册中复制了以下代码:
import logging
LOG_FILENAME = 'example.log'
logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG)
logging.debug('This message should go to the log file')
当我尝试运行脚本时(通过python.exe script.py
),我收到错误'module' object has no attribute 'basicConfig'
。
然而,当我以交互模式复制并粘贴代码时(通过python.exe然后复制并粘贴实际代码),我没有收到任何错误。代码运行正常。
我有python 2.6.6。
谢谢!
答案 0 :(得分:48)
你在python路径上有另一个名为logging
的模块;可能是同一目录中的文件logging.py
。比较print logging.__file__
。
答案 1 :(得分:8)
您需要将脚本名称更改为其他内容而不是logging.py。 (您使用的是此脚本的名称不是吗?
答案 2 :(得分:0)
更改您的文件名而不是logging.py绝对可以,因为在导入日志记录模块名称后我遇到了同样的问题,因此请不要为您的python文件指定日志记录名称。
答案 3 :(得分:0)
我在运行时遇到了相同的属性错误,当使用当前工作文件夹检查时,有2个文件名带有日志记录。删除这些文件名或移动到回收站,或者如果将其移动到其他文件夹或更改这些日志文件的名称并运行程序。它将正常工作。