1

查看以下代码。

UnboundLocalError: "local variable 'os' referenced before assignment"我在 if 语句中遇到错误。

我在那里设置了一个 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"

我什至不...

编辑:天哪,真丢脸。import os在这个 if 语句之后我也有一个本地的地方!!

4

1 回答 1

2

原来我import os在这个 if 语句之后有一个 local,它影响了os该函数范围的属性。

于 2013-06-28T23:25:48.087 回答