Python文件夹遍历

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

  • 文件夹数量
  • 文件数量
  • 文件类型及各类型数量
  • 文件属性:大小、创建日期、最后修改日期
  1. 基本分析
  • 使用 os lib

    python 复制代码
    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

    python 复制代码
    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 遍历文件夹
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
  1. 使用文心一言提问
  • 提问 python 遍历文件夹
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()来遍历该目录的子目录,
否则我们直接打印出文件的路径。
  1. 最佳方案

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

python 复制代码
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)
  1. 个人理解

GPT,Generative Pre-Trained Transformer (生成式预训练Transformer模型)

生成式AI的产生,是编程语言基本操作、学习的又一重要方式,应当会进一步降低开发语言的学习难度

  • 基于历史的而非未发生的
  • 基于大数据训练,也许各种语言的标准帮助文档会成为最佳实践
  • 快速查询并生成最佳的代码实践,当然所用的生成式AI要有足够多的数据训练
  • 生成式AI应当会越来越狡猾,给出的回复除了正确答案外,自生成的逻辑会越来越严密难于判断
  • 生成式AI会是人类最佳实践的集合吗?
  • 如何给生成式AI一个更难的题目,测试其成长过程?
  • 如何完整的测试生成式AI?
相关推荐
进击的六角龙3 分钟前
深入浅出:使用Python调用API实现智能天气预报
开发语言·python
檀越剑指大厂3 分钟前
【Python系列】浅析 Python 中的字典更新与应用场景
开发语言·python
湫ccc11 分钟前
Python简介以及解释器安装(保姆级教学)
开发语言·python
孤独且没人爱的纸鹤14 分钟前
【深度学习】:从人工神经网络的基础原理到循环神经网络的先进技术,跨越智能算法的关键发展阶段及其未来趋势,探索技术进步与应用挑战
人工智能·python·深度学习·机器学习·ai
羊小猪~~17 分钟前
tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
人工智能·python·深度学习·机器学习·cnn·tensorflow·neo4j
lzhlizihang20 分钟前
python如何使用spark操作hive
hive·python·spark
q0_0p21 分钟前
牛客小白月赛105 (Python题解) A~E
python·牛客
极客代码24 分钟前
【Python TensorFlow】进阶指南(续篇三)
开发语言·人工智能·python·深度学习·tensorflow
庞传奇26 分钟前
TensorFlow 的基本概念和使用场景
人工智能·python·tensorflow
华清远见IT开放实验室33 分钟前
【每天学点AI】实战图像增强技术在人工智能图像处理中的应用
图像处理·人工智能·python·opencv·计算机视觉