这真的吓到我了。我的项目看起来像这样
.
|-- main.py
|-- classes
| |-- __init__.py
| |-- exceptions.py在那些exceptions.py中,我最初创建了一个名为SecurityError的异常
class SecurityError(Exception):
pass 我在main.py中包含了使用from classes.exceptions import *的文件,当我只使用raise时,SecurityError通常可以工作。
之后,我还添加了FilesystemError,但是无论何时使用它,我都会得到:
全局名称“FilesystemError”未定义为
我试图删除*.pyc目录中的classes文件,但没有任何效果。对exceptions.py的任何更改都不会产生任何效果,包括任何使文件无效的可笑更改:
class FileFOO BAR BAZ systemError(Exception):
pass
class SecurityErr foo bar bazor(Exception):
pass 程序的行为仍然像文件自第一次运行以来从未改变过一样。我不认为这种行为与直观的编程有任何关系--如果有缓存,它应该在那个目录中。
我直接从命令行运行python:
C:\programing\python\MyProject>py -2 main.py发布于 2015-09-07 20:30:29
表单global name 'XXX' is not defined中令人困惑的错误通常意味着您正在跟踪一个标准库模块。您必须重命名您的exceptions模块。
https://stackoverflow.com/questions/32445288
复制相似问题