python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python获取文件夹所有文件

Python获取文件夹下所有文件的方法教程

作者:不在同一频道上的呆子

使用Python获取文件夹下所有文件可采用os模块或pathlib模块,os模块通过os.listdir和os.walk方法实现文件遍历,而pathlib模块通过Path类和其iterdir与rglob方法实现,两种方法各有优势,可根据具体需求选择使用,需要的朋友可以参考下

前言

使用Python 获取文件夹下的所有文件,可以使用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')

总结 

到此这篇关于Python获取文件夹下所有文件的文章就介绍到这了,更多相关Python获取文件夹所有文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文