使用Python 获取文件夹下的所有文件,可以使用os模块或者pathlib模块。
一、使用os模块
1、引入模块:
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')
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |