应该不难,但我脑子有问题。
当前回答
import os
os.listdir("path") # returns list
其他回答
从Python 3.5开始,你可以使用os.scandir。
不同之处在于它返回的是文件条目而不是名称。在一些操作系统上,比如windows,这意味着你不需要os.path。isdir/file来知道它是否是一个文件,这节省了CPU时间,因为在Windows中扫描dir时stat已经完成了:
使用实例列出目录并打印大于max_value字节的文件。
for dentry in os.scandir("/path/to/dir"):
if dentry.stat().st_size > max_value:
print("{} is biiiig".format(dentry.name))
(点击这里阅读我关于绩效的详细回答)
下面的代码将列出目录和目录下的文件。另一个是os。walk
def print_directory_contents(sPath):
import os
for sChild in os.listdir(sPath):
sChildPath = os.path.join(sPath,sChild)
if os.path.isdir(sChildPath):
print_directory_contents(sChildPath)
else:
print(sChildPath)
操作系统模块处理所有这些东西。
os.listdir(路径) 返回一个包含path指定目录中条目名称的列表。 这个列表的顺序是任意的。它不包括特殊分录。”, “. .’,即使它们已经出现在目录中。 可用性:Unix, Windows。
import os
os.listdir("path") # returns list
在Python 3.4+中,你可以使用新的pathlib包:
from pathlib import Path
for path in Path('.').iterdir():
print(path)
Path.iterdir()返回一个迭代器,它可以很容易地转换为一个列表:
contents = list(Path('.').iterdir())