要实现Python遍历指定路径下所有文件并按照时间区间检索,可以使用os模块和datetime模块。
具体步骤如下:
步骤一:导入模块
import os
import datetime
步骤二:定义函数
def search_files(start_dir, days):
for dirpath, dirnames, filenames in os.walk(start_dir):
for file in filenames:
file_path = os.path.join(dirpath, file)
modify_time = datetime.datetime.fromtimestamp(os.path.getmtime(file_path))
if modify_time > datetime.datetime.now() - datetime.timedelta(days=days):
print(file_path)
步骤三:调用函数
search_files('/Users/example/', 7)
以上代码将输出在路径/Users/example/
下,最近7
天内修改过的所有文件名及相对路径。
另外,这里再提供两个示例,以帮助进一步理解:
示例一:输出文件路径
import os
import datetime
def search_files(start_dir, days):
for dirpath, dirnames, filenames in os.walk(start_dir):
for file in filenames:
file_path = os.path.join(dirpath, file)
modify_time = datetime.datetime.fromtimestamp(os.path.getmtime(file_path))
if modify_time > datetime.datetime.now() - datetime.timedelta(days=days):
print(file_path)
search_files('/Users/example/', 7)
示例二:把文件放在一个列表中返回
import os
import datetime
def search_files(start_dir, days):
fileList = []
for dirpath, dirnames, filenames in os.walk(start_dir):
for file in filenames:
file_path = os.path.join(dirpath, file)
modify_time = datetime.datetime.fromtimestamp(os.path.getmtime(file_path))
if modify_time > datetime.datetime.now() - datetime.timedelta(days=days):
fileList.append(file_path)
return fileList
print(search_files('/Users/example/', 7))
以上两个示例中,第一个示例将符合条件的文件路径直接输出,而第二个示例将符合条件的文件路径存储在了一个列表中,并返回这个列表。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python如何遍历指定路径下所有文件(按按照时间区间检索) - Python技术站