今天看到一个错误,多看了一眼文件名,意识到以前好几个网友的错误症结也在此。
如果您第三方模块正常安装、import进程序正常使用,一运行却出现标题显示的错误,赶紧看一眼您给这段代码起的文件名(排除了拼写错误的情况下哈)。
比如下面这段程序:
import logging
logging.basicConfig(filename='myProgramLog.txt', level = logging.DEBUG,
format = '%(asctime)s - %(levelname)s - %(message)s')
……
跟书上一模一样的代码
……
logging.debug('End of program')
一运行却出现以下错误信息:
File "/Users/……/logging.py", line 1, in <module>
import logging
File "/Users/……/logging.py", line 2, in <module>
logging.basicConfig(filename='myProgramLog.txt', level = logging.DEBUG, format = '%(asctime)s - %(levelname)s - %(message)s')
AttributeError: module 'logging' has no attribute 'basicConfig'
错误原因就在于给这段代码起的文件名有问题。引用的模块是logging,给文件起的名字也是logging(logging.py),程序会在您自己的程序(logging.py)里找basicConfig()的,找不到还能不报错?简单说就是您不能在程序文件X.py里测试模块X。
在您的python path(路径)里有其他的程序叫logging.py也不行。
解决办法很简单,给程序改个名就成啦