097、Python 获取文件夹下的所有文件的方法
不在同一频道上的呆子 2024-10-02 17:33:30 阅读 53
使用Python 获取文件夹下的所有文件,可以使用<code>os模块或者pathlib
模块。
一、使用os
模块
1、引入模块:
# 引入os模块
import os
2、获取指定文件夹(不含子文件夹)的方法:
# 不含子文件夹
def list_files_in_directory(directory):
for filename in os.listdir(directory):
filepath = os.path.join(directory, filename)
# 检查是否是文件(排除目录)
if os.path.isfile(filepath):
print(filepath)
list_files_in_directory(r'C:\Users\admin\Desktop\文件夹1')
3、获取文件夹下(含子文件夹)的所有文件的方法:
# 含子文件夹
def list_files(path):
for root, dirs, files in os.walk(path):
level = root.replace(path, '').count(os.sep)
indent = ' ' * 4 * level
print('{}{}/'.format(indent, os.path.basename(root)))
redundant = ' ' * 4 * (level + 1)
for f in files:
print('{}{}'.format(redundant, f))
list_files(r'C:\Users\admin\Desktop\文件夹1')
二、使用pathlib
模块
1、引入模块:
# 引入pathlib模块
from pathlib import Path
2、获取指定文件夹(不含子文件夹)的方法:
# 不含子文件夹
def list_files_in_directory(directory):
directory_path = Path(directory)
for file in directory_path.iterdir():
# 检查是否是文件(排除目录)
if file.is_file():
print(file)
list_files_in_directory(r'C:\Users\admin\Desktop\文件夹1')
3、获取文件夹下(含子文件夹)的所有文件的方法:
# 含子文件夹
def list_files(path):
p = Path(path)
for file in p.rglob('*'): # 使用rglob('*')来递归地查找所有文件
print(file)
# 调用
list_files(r'C:\Users\admin\Desktop\文件夹1')
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。