Python读取文件夹所有文件的步骤如下:
1.引入os模块
使用Python读取文件夹中的所有文件需要引入os模块,因为os模块提供了一种文件系统相关的功能
import os
2.使用os.listdir()列出目录下的所有文件
列出目录下的所有文件,返回一个字符串组成的列表(包含文件名和文件夹名),如下:
path = '/Users/username/Desktop'
files = os.listdir(path)
print(files)
输出结果:
['file1.txt', 'file2.py', 'folder1', 'folder2']
3.对路径进行拼接
使用os.path.join()对路径进行拼接,可得到绝对路径
path = '/Users/username/Desktop'
files = os.listdir(path)
for file in files:
full_path = os.path.join(path, file)
print(full_path)
输出结果:
/Users/username/Desktop/file1.txt
/Users/username/Desktop/file2.py
/Users/username/Desktop/folder1
/Users/username/Desktop/folder2
完成以上操作,我们就可以读取文件夹下的所有文件
代码示例1:
import os
def get_file_list(path):
files_list = []
files = os.listdir(path)
for file in files:
full_path = os.path.join(path, file)
if os.path.isdir(full_path):
files_list.extend(get_file_list(full_path))
else:
files_list.append(full_path)
return files_list
path = '/Users/username/Desktop'
files_list = get_file_list(path)
print(files_list)
代码示例2:
import os
def get_file_list(path):
for root, dirs, files in os.walk(path):
for file in files:
full_path = os.path.join(root, file)
yield full_path
path = '/Users/username/Desktop'
files_list = list(get_file_list(path))
print(files_list)
以上两个示例代码都可以实现读取文件夹下所有文件的操作。其中,代码示例1中使用递归方法调用,适用于文件夹层级较少的情况。代码示例2中使用os.walk()方法,其内部已经实现了递归调用,适合用于深层次的文件夹遍历。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python读取文件夹所有文件 - Python技术站