在Python中,可以使用os模块来获取指定路径下的文件名。可以通过os.listdir()函数来获取指定路径下的所有文件和文件夹的名称,然后使用循环遍历每个文件和文件夹,判断是否是指定的文件后缀名,如果是则将其加入到一个列表中。
Python专栏:https://blog.csdn.net/zhouruifu2015/category_5742543
技术圈:https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q
示例1:用于获取指定路径下的所有.json 和 .zip文件的文件名
目录内容
import os
def get_filename(file_path, file_suffix):
"""
参数:文件所在路径 指定后缀
# file_path = "D:\steverocket"
# file_suffix = ".zip"
"""
files = []
file_list = os.listdir(file_path) # 遍历目录下的所有文件名 生成一个文件名列表
for item in file_list:
file_full_path = file_path + os.sep + item
if os.path.isfile(file_full_path): # 判断是否为文件
file_splitext = os.path.splitext(item) # 分离出文件后缀,返回一个由文件名和后缀组成的元组('package', '.json')
print(file_splitext)
if file_splitext[1] == file_suffix:
files.append(item)
return files
# 适用于:多个不同类型的单一文件目录下
target_path = "D:\steverocket"
print(get_filename(target_path, '.json'))
print(get_filename(target_path, '.zip'))
示例2:使用endswith判断文件后缀
def get_files_with_suffix(path, suffix):
"""
获取指定路径下指定后缀名的文件名
:param path: 指定路径
:param suffix: 指定后缀名
:return: 文件名列表
"""
file_list = []
for file_name in os.listdir(path):
if file_name.endswith(suffix): # 使用endswith判断文件后缀
file_list.append(file_name)
return file_list
suffix = '.json' # 指定后缀名
file_list = get_files_with_suffix(target_path, suffix)
print(file_list)
在上面的代码中,get_files_with_suffix()函数接收两个参数:path和suffix。path是指定路径,suffix是指定的文件后缀名。函数中使用os.listdir()函数获取指定路径下的所有文件和文件夹的名称,然后使用循环遍历每个文件和文件夹,判断是否是指定的文件后缀名,如果是则将其加入到一个列表中。最后返回文件名列表。
在主程序中,指定路径和文件后缀名,然后调用get_files_with_suffix()函数获取指定路径下的所有.py文件的文件名,并打印输出。
输出结果
需要注意的是,在使用os.listdir()函数时,如果指定的路径不存在,会引发FileNotFoundError异常。因此,需要在程序中进行异常处理,避免程序因为路径不存在而崩溃。
更多资料 · 微信公众号搜索【CTO Plus】关注后,获取更多,我们一起学习交流。
关于公众号的描述访问如下链接