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')



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。