无法导入os.listdir

时间:2019-02-04 07:55:26

标签: python operating-system os.path

我有一个简短的问题。 我尝试使用

导入“ os.listdir”
import os.listdir

但是,它显示了如下错误。

Exception has occurred: ModuleNotFoundError
No module named 'os.listdir'; 'os' is not a package

  File "/Users/chanwooahn/Google Drive/Projects/The Economist/main.py", line 1, in

 <module>import os.listdir

  File "/anaconda3/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)

  File "/anaconda3/lib/python3.6/runpy.py", line 96, in _run_module_code
    mod_name, mod_spec, pkg_name, script_name)

  File "/anaconda3/lib/python3.6/runpy.py", line 263, in run_path
    pkg_name=pkg_name, script_name=fname)

我认为'os'是python的内置接口。 我已经更新了'conda'和'python',但是仍然给了我同样的错误。 有什么可能的原因吗?

3 个答案:

答案 0 :(得分:2)

是的,您应该使用:

from os import listdir

listdir不是软件包;)

答案 1 :(得分:1)

使用:

import os

all_files = os.listdir("C:\\Sample")
print(all_files)

答案 2 :(得分:1)

import的参数必须是程序包名称。 os不包含名为listdir的程序包,因此您不能导入它。

可以做的

import os
os.listdir('.')

或仅导入listdir

from os import listdir
listdir('.')

或略有改变:

from os import listdir as ld
ld('.')

Python标准库中存在一些可变性,其中某些包确实包含子包,您可以甚至必须专门import来打包子包;但是listdir只是os包中的一个函数,而不是一个包本身。