python 打开文件夹-python读取文件夹下文件
发布时间:2023-02-09 07:18 浏览次数:次 作者:佚名
【时间】2018.10.27
[题目]python中如何遍历一个文件夹及其子文件夹中的所有文件
目录
概述
本文提供两种python遍历文件夹及其子文件夹中所有文件的方法。 两者都返回文件名列表(可以选择文件名列表或包含完整路径的文件名列表)。 一种是使用os.listdir()函数+递归,一种是使用os.walk()函数python 打开文件夹python 打开文件夹,第二种方法更简单。
1.使用os.listdir()函数+递归的方式实现
【实现代码】:
import os
image_path = 'F:\\test\\frames'
# 遍历文件夹及其子文件夹中的文件,并存储在一个列表中
# 输入文件夹路径、空文件列表[]
# 返回 文件列表Filelist,包含文件名(完整路径)
def get_filelist(dir, Filelist):
newDir = dir
if os.path.isfile(dir):
Filelist.append(dir)
# # 若只是要返回文件文,使用这个
# Filelist.append(os.path.basename(dir))
elif os.path.isdir(dir):
for s in os.listdir(dir):
# 如果需要忽略某些文件夹,使用以下代码
#if s == "xxx":
#continue
newDir=os.path.join(dir,s)
get_filelist(newDir, Filelist)
return Filelist
if __name__ =='__main__' :
list = get_filelist('F:\\test\\frames', [])
print(len(list))
for e in list:
print(e)
【补充说明】:
1、os.path.basename()函数用于返回path路径的最后一个文件名。 如果路径以 / 或 \ 结尾,将返回一个空值。 例如:
二、使用os.walk()函数实现
【实现代码】
import os
path ='F:\\test\\frames'
def get_filelist(dir):
Filelist = []
for home, dirs, files in os.walk(path):
for filename in files:
# 文件名列表,包含完整路径
Filelist.append(os.path.join(home, filename))
# # 文件名列表,只包含文件名
# Filelist.append( filename)
return Filelist
if __name__ =="__main__":
Filelist = get_filelist(dir)
print(len( Filelist))
for file in Filelist :
print(file)
【补充说明】: