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


from os import *#import osdef 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 osdef foo():    a = os.listdir("trainingDigits")    b = open("trainingDigits/0_0.txt")

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

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

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

评论关闭