一、遍历文件夹
Python os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。
我们可以通过此方法来实现遍历某个指定文件夹,将文件夹中的所有文件和子文件夹名称输出,代码示例:
import os def traverse(folder_path): for root, dirs, files in os.walk(folder_path): for dir in dirs: print(os.path.join(root, dir)) for file in files: print(os.path.join(root, file)) folder_path = "C:/Users/Administrator/Desktop/test" traverse(folder_path)
os.walk() 方法会包含当前文件夹(根目录)以及当前文件夹下的所有子文件夹。for 循环遍历 root,dirs,files,分别获取当前文件夹、子文件夹以及文件名列表。
os.path.join() 方法用于将文件路径和文件名组合起来。这里使用两个 for 循环遍历根目录下的所有子文件夹和文件,输出完整的路径。
二、查找文件
os.walk() 可以通过设置过滤条件,进行查找指定文件名的操作。
代码示例:
import os def searchFile(folder_path, file_name): for root, dirs, files in os.walk(folder_path): for file in files: if file == file_name: print(os.path.join(root, file)) folder_path = "C:/Users/Administrator/Desktop/test" file_name = "test.txt" searchFile(folder_path, file_name)
通过设置一个 file_name 变量,来确定需要查找的文件名,再使用 if 判断语句来判断当前文件名是否和查找的文件名相同。
三、查找文件夹
与查找文件类似,使用 os.walk() 方法同样可以查找指定的文件夹。
代码示例:
import os def searchFolder(folder_path, folder_name): for root, dirs, files in os.walk(folder_path): for dir in dirs: if dir == folder_name: print(os.path.join(root, dir)) folder_path = "C:/Users/Administrator/Desktop/test" folder_name = "sub_folder" searchFolder(folder_path, folder_name)
与查找文件相同,先设置一个变量 folder_name,再使用 if 判断语句来判断当前文件夹名称是否和需要查找的文件夹名称相同。
四、总结
Python os.walk() 方法可以方便地遍历整个文件夹的所有文件和子文件夹,同时也可以根据条件进行查找指定的文件和文件夹。
以上是 os.walk() 方法使用的基础示例,我们还可以在实际开发中根据自己的需求进行更复杂的操作,如筛选出指定格式的文件等。