Python的一个命名空间冲突,关于from-import机制

python

from os import *

#import os

def foo():

a = listdir("trainingDigits")

b = open("trainingDigits/0_0.txt")

这段代码,如果仅启用

from os import *

就会在

b = open("trainingDigits/0_0.txt")

这个位置报

TypeError: Required argument 'flags' (pos 2) not found这个错

如果仅启用

import os

就会在a = listdir("trainingDigits")这个位置报NameError: name 'listdir' is not defined这个错

解决方法是

import os

def foo():

a = os.listdir("trainingDigits")

b = open("trainingDigits/0_0.txt")

这个涉及到from-import的导入机制了,简书上有一篇文章讲得比较清楚,有时间详细看看

https://www.jianshu.com/p/c82429550dca

以上是 Python的一个命名空间冲突,关于from-import机制 的全部内容, 来源链接: utcz.com/z/387044.html

回到顶部