在 Python 中,os.listdir()
是一个用于列出指定目录下所有文件和子目录名称的函数。它来自于 os
模块,该模块提供了与操作系统进行交互的多种功能。
import os
# 列出当前目录下的所有文件和子目录
entries = os.listdir('.')
print(entries)
在这个示例中:
os.listdir('.')
将返回当前工作目录(用.
表示)的所有文件和目录的名称列表。entries
变量将包含这些名称。
示例
假设当前目录结构如下:
.
├── file1.txt
├── file2.txt
├── dir1
│ └── file3.txt
└── dir2
运行以下代码:
import os
# 列出当前目录下的所有文件和子目录
entries = os.listdir('.')
for entry in entries:
print(entry)
将输出:
file1.txt
file2.txt
dir1
dir2
列出指定目录
你也可以传递一个指定的目录路径来列出该目录下的文件和子目录。例如:
import os
# 列出指定目录下的所有文件和子目录
entries = os.listdir('/path/to/directory')
for entry in entries:
print(entry)
注意事项
- 目录路径:
os.listdir()
返回的只是文件和子目录的名称列表,不包含完整路径。如果需要完整路径,可以使用os.path.join()
函数。 - 隐藏文件:
os.listdir()
会列出所有文件和子目录,包括隐藏文件(在 Unix 系统中以.
开头的文件)。 - 错误处理:如果指定的目录不存在或无法访问,
os.listdir()
会引发FileNotFoundError
或PermissionError
异常。因此,建议在实际应用中进行异常处理。
异常处理示例:
import os
try:
entries = os.listdir('/path/to/directory')
for entry in entries:
print(entry)
except FileNotFoundError:
print("Directory not found")
except PermissionError:
print("Permission denied")
通过这种方式,你可以更健壮地处理目录读取操作中的潜在问题。