Python——os.walk()

本文介绍如何利用Python内置函数os.walk()遍历指定文件夹及其子文件夹中的所有文件和子文件夹。该函数接受一个文件夹路径作为参数,并返回一个包含当前文件夹名、子文件夹列表及文件列表的元组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

向os.walk()函数传入一个字符串值,即一个文件夹的路径。返回一个元组,元组包含3个值:

1.当前文件夹名称的字符串。
2.当前文件夹中子文件夹的字符串的列表。
3.当前文件夹中文件的字符串的列表。

### 使用 `os.walk` 和 `os.path.getmtime` 对文件按修改时间排序 为了实现按照文件的最后修改时间来排序的功能,可以利用 Python 的内置模块 `os` 提供的相关函数。具体来说,可以通过组合使用 `os.walk()` 函数遍历目录树中的所有文件,并通过 `os.path.getmtime()` 获取每个文件的最近一次修改的时间戳。 下面是一个完整的例子,展示了如何获取指定路径下所有的文件并依据它们各自的修改日期降序排列: ```python import os from datetime import datetime def get_files_sorted_by_mtime(directory): file_list = [] # 遍历给定目录及其子目录下的所有文件 for root, dirs, files in os.walk(directory): for name in files: full_path = os.path.join(root, name) # 获取文件的元组 (绝对路径, 修改时间) mtime = os.path.getmtime(full_path) formatted_time = datetime.fromtimestamp(mtime).strftime('%Y-%m-%d %H:%M:%S') file_info = {'path': full_path, 'modified': formatted_time} file_list.append(file_info) # 根据文件的修改时间进行排序,默认升序;这里设置 reverse=True 来获得降序的结果 sorted_files = sorted(file_list, key=lambda k: k['modified'], reverse=True) return sorted_files if __name__ == "__main__": directory_to_search = '/path/to/directory' result = get_files_sorted_by_mtime(directory_to_search) for item in result: print(f"{item['path']} - Last Modified on {item['modified']}") ``` 这段代码定义了一个名为 `get_files_sorted_by_mtime` 的函数,它接收一个参数——要扫描的目标文件夹路径。该函数返回的是一个字典列表,其中包含了各个文件对应的完整路径以及其最后一次被修改的具体时间字符串表示[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值