首页 > 技术文章 > Python学习笔记文件读写之遍历目录树

lirongyang 2019-06-21 11:28 原文

随笔记录方便自己和同路人查阅。

#------------------------------------------------我是可耻的分割线-------------------------------------------

  假定你希望对某个文件夹中的所有文件改名,包括该文件夹中所有子文件夹中的所有文件。也就是说,你希望遍历目录树,处理遇到的每个文件。

写程序完成这件事,可能需要一些技巧。好在,Python 提供了一个函数,替你处理这个过程。

  首先在D盘下创建quiz文件夹,然后在quiz文件夹下创建两个文件夹和一个文件。

#------------------------------------------------我是可耻的分割线-------------------------------------------

  示例代码:

#! python 3
# -*- coding:utf-8 -*-
# Autor: Li Rong Yang
import os
#使用os.walk(),获得目录下所有文件和文件夹
for folderName,subfolders,filenames in os.walk('D:\\quiz'):
    #打印提示信息
    print('The current folder is '+folderName)
    #打印第一层目录下所有文件和文件夹
    for subfolder in subfolders:
        print('SUBFOLDER OF '+folderName+': '+subfolder)
    #打印第二层目录下的所有文件和文件夹
    for filename in filenames:
        print('FILE INSIDE '+folderName+': '+filename)
    #每次循环结束打印换行
    print('')

  运行结果:

  因为 os.walk()返回字符串的列表,保存在 subfolder 和 filename 变量中,所以你可以在它们自己的 for 循环中使用这些列表。用你自己定制的代码,取代 print()函数调用(或者如果不需要,就删除 for 循环)。

推荐阅读