查看以下代码。
我在if语句中收到UnboundLocalError: "local variable 'os' referenced before assignment"
错误。
我在那里设置了一个pdb跟踪,我试图查看os模块。
import os
import pdb
...
pdb.set_trace()
if not os.path.exists(path_to_temp):
os.makedirs(path_to_temp)
这是我在pdb中的奇怪互动:
(Pdb) os.path.exists(path_to_temp)
False
(Pdb) not os.path.exists(path_to_temp)
True
(Pdb) os.path
<module 'posixpath' from '/usr/lib/python2.7/posixpath.pyc'>
(Pdb) os
<module 'os' from '/usr/lib/python2.7/os.pyc'>
(Pdb) n
UnboundLocalError: "local variable 'os' referenced before assignment"
我甚至不......
编辑:哦,惭愧我。在这个if语句之后,我有一个本地import os
!!
答案 0 :(得分:2)
原来我在这个if语句之后有一个本地import os
,这影响了该函数范围的os
属性。