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

 更新时间:2024年11月06日 10:28:52   作者:不在同一频道上的呆子  
使用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获取文件夹所有文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用python快速生成nodejs项目文件结构

    使用python快速生成nodejs项目文件结构

    这篇文章主要介绍了如何使用Python快速生成nodejs项目文件结构,主要是为了解决AI Studio生成的Node.js程序的存放文件夹并快速生成问题的工具软件,有需要的可以了解下
    2026-01-01
  • python如何爬取个性签名

    python如何爬取个性签名

    这篇文章主要为大家详细介绍了pythonx抓取个性签名的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • 基于Python编写一个二维码生成器

    基于Python编写一个二维码生成器

    二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式。本文将利用python生成一个简单的二维码生成器,需要的可以参考一下
    2022-06-06
  • Python中实现堆排序算法

    Python中实现堆排序算法

    堆排序是一种强大的算法,用于在 Python 中对数组和列表进行排序, 它很受欢迎,因为它非常快,并且不像合并排序和快速排序那样占用任何额外空间,本篇文章将介绍堆排序算法在 Python 中的实现,感兴趣的朋友跟随小编一起看看吧
    2023-08-08
  • python怎么提高计算速度

    python怎么提高计算速度

    在本篇文章里小编给大家分享的是一篇关于python中如何提高计算速度的技术文章,需要的朋友们可以学习下。
    2020-06-06
  • NumPy数组排序、过滤与随机数生成详解

    NumPy数组排序、过滤与随机数生成详解

    这篇文章主要详细给大家介绍了NumPy数组排序、过滤与随机数生成,文中通过代码示例给大家讲解的非常详细,对大家学习NumPy有一定的帮助,需要的朋友可以参考下
    2024-05-05
  • python中时间、日期、时间戳的转换的实现方法

    python中时间、日期、时间戳的转换的实现方法

    这篇文章主要介绍了python中时间、日期、时间戳的转换的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python一键生成核酸检测日历的操作代码

    Python一键生成核酸检测日历的操作代码

    这篇文章主要介绍了Python一键生成核酸检测日历,本文以深圳为例,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • 使用Python的地理可视化库进行地图动画的制作方法

    使用Python的地理可视化库进行地图动画的制作方法

    随着数据科学和可视化的迅速发展,地图动画成为了展示地理数据变化的有力工具,Python作为一种强大的编程语言,有着丰富的地理可视化库,本文将介绍如何使用Python的地理可视化库来制作地图动画,并通过代码实例来演示,需要的朋友可以参考下
    2024-05-05
  • python中的flask框架Jinja 模板入门教程

    python中的flask框架Jinja 模板入门教程

    这篇文章主要介绍了 python中的flask框架Jinja 模板入门,Jinja 模板其实是 html 文件,一般情况下放在 Flask 工程的 /templates 目录下,对python flask Jinja 模板相关知识感兴趣的朋友一起看看吧
    2022-04-04

最新评论