获取指定目录下所有文件名列表是Python中常见的问题。可以使用os模块中的方法完成这一任务。具体步骤如下:
- 导入os模块
首先需要导入os模块,使用方法是在脚本开头写上import os语句。
import os
- 指定目录
使用listdir()函数获取指定目录下的文件名列表,需要传入指定的目录路径。例如,获取当前目录下的所有文件名列表可以使用'.'表示当前目录,也可以使用os.getcwd()获取当前工作目录。
#使用'.'表示当前目录
files = os.listdir('.')
#使用os.getcwd()获取当前工作目录
files = os.listdir(os.getcwd())
- 过滤文件
获取的文件名列表包含目录和文件,需要根据需要过滤出文件名列表。可以使用os.path.isfile()判断文件是否是文件类型,并过滤掉目录。
files = [f for f in os.listdir('.') if os.path.isfile(f)]
完整代码示例:
import os
# 获取当前目录下的所有文件名列表
files = os.listdir('.')
# 过滤掉目录,只保留文件
files = [f for f in files if os.path.isfile(f)]
print(files)
输出结果示例:
['file1.txt', 'file2.png', 'file3.py']
另外一个示例,获取指定目录下所有子目录中的.py文件名列表:
import os
# 指定目录路径
dir_path = 'example/path/'
# 获取指定目录下的所有文件名列表
files = os.listdir(dir_path)
# 过滤掉非.py文件和目录
py_files = [os.path.join(root, f) for root, dirs, files in os.walk(dir_path) for f in files if f.endswith('.py')]
print(py_files)
输出结果示例:
['example/path/sub_dir/file1.py', 'example/path/file2.py']
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python获取指定目录下所有文件名列表的方法 - Python技术站