Python文件夹遍历

这篇具有很好参考价值的文章主要介绍了Python文件夹遍历。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

常用到文件夹遍历操作,会对文件进行如下操作:

  • 文件夹数量
  • 文件数量
  • 文件类型及各类型数量
  • 文件属性:大小、创建日期、最后修改日期

0. 基本分析

  • 使用 os lib
    import os
    
    from os.path import join, getsize
    
    # yields a 3-tuple dirpath, dirnames, filenames
    for root, dirs, files in os.walk('python/Lib/email'):
        print(root, "consumes", end="")
        print(sum(getsize(join(root, name)) for name in files), end="")
        print("bytes in", len(files), "non-directory files")
        if 'CVS' in dirs:
                dirs.remove('CVS')  # don't visit CVS directories
  • 使用 glob
    import glob
    import os
      
    files = glob.glob("H:\Del\logs\**")  
    for file in files:
        if os.path.isdir(file):
            sub_file = glob.glob(os.path.abspath(file)+"\**")
            for f in sub_file:
                files.append(f)
        else:
            print(file)
    
    >>>>>>>>> result
    H:\Del\logs\log.html
    H:\Del\logs\output.xml
    H:\Del\logs\report.html
    H:\Del\logs\log01\log01.txt
    H:\Del\logs\log01\log02\log02.txt
    H:\Del\logs\log01\log02\log03\log03.txt
  • 使用 CSDN 创作助手 和 百度 文心一言分别提问

1. 使用 CSDN 创作助手

    - 提问  python 遍历文件夹

可以使用os模块和os.walk()函数来遍历文件夹。下面是一个例子:

import os

# 定义文件夹路径
folder_path = '/path/to/folder/'   # replaced: "H:\Del\logs"

# 使用os.walk()函数来遍历文件夹
for root, dirs, files in os.walk(folder_path):
    for file in files:
        file_path = os.path.join(root, file)
        # 处理文件操作
        print(file_path)

在代码中,首先定义了要遍历的文件夹路径 folder_path。
然后使用 os.walk() 函数来遍历文件夹,其中的 for 循环用于遍历文件夹中的文件,
os.path.join() 函数用于构造完整的文件路径。你可以在处理文件操作中进行一些自己的操作。

>>>>>>>> result
H:\Del\logs\log.html
H:\Del\logs\output.xml
H:\Del\logs\report.html
H:\Del\logs\log01\log01.txt

 2. 使用文心一言提问

     - 提问  python 遍历文件夹

在Python中,你可以使用os模块的os.walk()函数来遍历文件夹。
这个函数会遍历给定的目录以及所有子目录,并生成每个目录的路径。

下面是一个使用os.walk()的简单例子:

import os  
  
def traverse_folder(path):  
    for dirpath, dirnames, filenames in os.walk(path):  
        print(dirpath)  
        for filename in filenames:  
            print(os.path.join(dirpath, filename))  
  
traverse_folder('/path/to/your/folder')   # replaced: 'H:\Del\logs'
在这个例子中,os.walk()生成的是一个三元组:目录路径、目录名称列表和文件名称列表。
我们首先打印出每个目录的路径,然后遍历该目录下的文件名称列表,并打印出每个文件的完整路径。

>>>>>>> result
H:\Del\logs
H:\Del\logs\log.html
H:\Del\logs\output.xml
H:\Del\logs\report.html
H:\Del\logs\log01
H:\Del\logs\log01\log01.txt

你也可以使用os.listdir()函数来列出指定目录中的所有文件和文件夹的名称,然后使用循环来遍历它们。
但是,这个函数不会递归地遍历子目录。

import os  
  
def traverse_folder(path):  
    for filename in os.listdir(path):  
        full_path = os.path.join(path, filename)  
        if os.path.isdir(full_path):  
            traverse_folder(full_path)  # 递归遍历子目录  
        else:  
            print(full_path)  
  
traverse_folder('/path/to/your/folder')  # replaced: 'H:\Del\logs'

>>>>>>> result
H:\Del\logs\log.html
H:\Del\logs\log01\log01.txt
H:\Del\logs\output.xml
H:\Del\logs\report.html

在这个例子中,我们首先使用os.listdir()列出给定目录中的所有文件和文件夹的名称,
然后使用os.path.join()将目录路径和文件名组合成完整的文件路径。
如果路径是一个目录,我们递归地调用traverse_folder()来遍历该目录的子目录,
否则我们直接打印出文件的路径。

3. 最佳方案

    基本算法逻辑,稍经改造即可适用,对采用CVS的程序员来讲是福音,也将是灾难,会被替代吗?

import os  

cdir = 0
cfile = 0
def traverse_folder(path):  
    for dirpath, dirnames, filenames in os.walk(path):
        global cdir
        cdir = cdir + 1        
        print(dirpath, ' - ',dirnames)
        for filename in filenames:
            global cfile
            cfile = cfile + 1
            print(os.path.join(dirpath, filename))  
  
traverse_folder('H:\Del\logs')
print("Folder:", cdir, ' - ', "File: ", cfile)

4. 个人理解

    GPT,Generative Pre-Trained Transformer(生成式预训练Transformer模型)
    生成式AI的产生,是编程语言基本操作、学习的又一重要方式,应当会进一步降低开发语言的学习难度文章来源地址https://www.toymoban.com/news/detail-691278.html

  • 基于历史的而非未发生的
  • 基于大数据训练,也许各种语言的标准帮助文档会成为最佳实践
  • 快速查询并生成最佳的代码实践,当然所用的生成式AI要有足够多的数据训练
  • 生成式AI应当会越来越狡猾,给出的回复除了正确答案外,自生成的逻辑会越来越严密难于判断
  • 生成式AI会是人类最佳实践的集合吗?
  • 如何给生成式AI一个更难的题目,测试其成长过程?
  • 如何完整的测试生成式AI?

到了这里,关于Python文件夹遍历的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python 使用os.path.join对文件夹中的文件进行循环遍历读取

    使用os.path.join()函数 一个情景 当我们需要处理数据时,数据保存在txt文件,或者语音处理wav文件 并且以后多个文件,其代表着某一任务下不同参数得到的结果。 所以我们需要使用路径来读取文件, 如果需要一次性读取多个,那么则循环遍历。 这里需要用到 os.path.join 操作

    2024年02月16日
    浏览(39)
  • Java文件处理(一):创建文件、遍历文件夹、删除文件/文件夹

    本篇以代码为核心,在实践中自学吧年轻人~ 要进行文件处理肯定需要 File 类啦。 File 的实例是一个实例(?),但是可以链接到本地的文件、文件夹,并对它们进行操作。 从下面的一些示例中可以看到,同一份本地文件可以拥有多个File对象;同时,构造一个File对象时传入

    2024年02月05日
    浏览(78)
  • SHELL脚本 遍历文件夹下所有文件以及子文件夹

    dir 要设置为局部变量 如果设置为全局变量 在func递归时传入的参数 会改变 dir的值,将导致之后的文件目录错误(为更改后的dir值) 当前目录情况: 执行完shell后: 附上代码: 如有不对,感谢指出。

    2024年02月12日
    浏览(56)
  • python怎么创建一个文件夹,用python创建一个文件夹

    大家好,小编来为大家解答以下问题,python中如何创建一个新文件,python如何创建一个文件夹,今天让我们一起来看看吧! 这篇文章主要介绍了如何通过python新建一个文件中的文件,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小

    2024年04月29日
    浏览(66)
  • Java遍历文件夹

    递归遍历指定路径下的所有文件和文件夹,如果是文件夹则继续向内部遍历,直到获取所有的文件。 测试

    2024年02月14日
    浏览(58)
  • java 在文件夹以及子文件夹中遍历获取指定文件的list

    1.  使用java 递归方法获取指定文件的list,相当于在一个文件夹以及子文件夹,搜索文件的功能。 直接上代码: 

    2024年02月13日
    浏览(63)
  • python判断文件或文件夹是否存在、创建文件夹

    以下的内容参考http://t.csdn.cn/aybFd,https://www.cnblogs.com/hushaojun/p/4533241.html python判断文件或文件夹是否存在、创建文件夹 1、判断文件或文件夹是否存在 2、判断所给路径是文件还是文件夹 3、创建文件夹 4、获取当前.py文件的路径 5、获取指定目录下所有的文件和文件夹 删除一个

    2024年02月10日
    浏览(75)
  • Python-拷贝文件和文件夹到指定的文件夹

    之前使用windows批处理命令,感觉语法太不友好,还需要传很多参数,用起来很麻烦,最后还是用Python来实现。 网上太多的教程,真的不知所云,有点太麻烦了,拷贝之前先删除,也懒得判断。 shutil.copyfile 顾名思义 拷贝的是文件 shutil.copytree 顾名思义 拷贝的是文件夹 这样使

    2024年02月11日
    浏览(91)
  • python读取文件夹下的文件以及子文件夹中文件

    os.listdir() 读取目标文件夹下的文件名和子文件夹名,不会递归读取子文件夹下 方法一: root, dirs, files = os.walk() 递归读取文件夹和 子文件夹下所有文件 。方法二:也可以用os.listdir(),判断是文件夹再os.listdir()自己写一个递归程序 示例

    2024年02月16日
    浏览(70)
  • Node.js:实现遍历文件夹下所有文件

    Node.js:实现遍历文件夹 代码如下 参考文章 如何使用Node.js遍历文件夹详解

    2024年02月13日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包