随笔记录方便自己和同路人查阅。
#------------------------------------------------我是可耻的分割线-------------------------------------------
假定你希望对某个文件夹中的所有文件改名,包括该文件夹中所有子文件夹中的所有文件。也就是说,你希望遍历目录树,处理遇到的每个文件。
写程序完成这件事,可能需要一些技巧。好在,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 循环)。