一文弄懂 Python os.walk(),轻松搞定文件处理和目录遍历
os.walk()
是 Python 的 os 模块提供的一个函数,用于遍历文件夹及其子文件夹,生成一个三元组(dirpath, dirnames, filenames)。其中,dirpath 是一个字符串,表示当前访问的路径,dirnames 是一个列表,包含 path 下所有子目录的名称,filenames 同样是一个列表,包含 path 下所有非目录文件的名称。
解决方案:
- 基本使用:
import os
for dirpath, dirnames, filenames in os.walk('.'):
for file in filenames:
print(os.path.join(dirpath, file))
这段代码会打印当前文件夹及子文件夹中的所有文件路径。
- 使用
os.walk()
进行文件搜索:
import os
def search_file(directory, extension):
for dirpath, dirnames, filenames in os.walk(directory):
for file in filenames:
if file.endswith(extension):
print(os.path.join(dirpath, file))
search_file('.', '.py')
这段代码会搜索当前文件夹及子文件夹中所有扩展名为 .py
的文件,并打印它们的路径。
- 使用
os.walk()
进行文件夹大小统计:
import os
def folder_size(directory):
size = 0
for dirpath, dirnames, filenames in os.walk(directory):
for file in filenames:
size += os.path.getsize(os.path.join(dirpath, file))
return size
print(folder_size('.'))
这段代码会统计当前文件夹及子文件夹中所有文件的大小总和,并返回总和的大小。
以上就是 os.walk()
的基本使用,能够满足大部分对文件和文件夹遍历的需求。
评论已关闭