目录
在 Python 中,如果你想获得一个文件夹路径下的所有文件名,可以使用
os
模块或者pathlib
模块。下面是这两种方法的示例:
方法 1:使用 os
模块
import os
# 指定文件夹路径
folder_path = '/path/to/your/folder'
# 获取文件夹中所有文件名(不包括子目录)
file_names = [f for f in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, f))]
# 打印所有文件名
print(file_names)
解释:
os.listdir()
:返回指定路径下的所有文件和子目录的列表。os.path.isfile()
:检查路径是否为文件,排除目录。
方法 2:使用 pathlib
模块
pathlib
是 Python 3 中引入的一个现代文件路径库,它比os
更简洁和面向对象。
from pathlib import Path
# 指定文件夹路径
folder_path = Path('/path/to/your/folder')
# 获取文件夹中所有文件名(不包括子目录)
file_names = [f.name for f in folder_path.iterdir() if f.is_file()]
# 打印所有文件名
print(file_names)
解释:
Path('/path/to/your/folder')
: 创建一个Path
对象,表示文件夹路径。iterdir()
: 返回文件夹中所有文件和子目录的路径。f.is_file()
: 检查每个路径是否是一个文件,排除目录。
方法 3:获取特定类型的文件(如 .txt
)
如果你只想获取特定类型的文件(如
.txt
文件),你可以在列表推导式中加上条件来筛选:
使用 os
模块:
file_names = [f for f in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, f)) and f.endswith('.txt')]
使用 pathlib
模块:
file_names = [f.name for f in folder_path.iterdir() if f.is_file() and f.suffix == '.txt']
总结:
- 使用
os.listdir()
和os.path.isfile()
可以获得文件夹中的文件名。- 使用
pathlib
更加简洁和现代,提供了面向对象的 API。