使用python,打开我的电脑F:\123\ ,搜索所有文件类型为.txt 的文本文件,找出修改日期最接近电脑系统当前日期的那个文件,时间精确到分钟。把这个文件改名为导出目录后删除这个文件。代码怎么写
时间: 2023-12-03 22:44:47 浏览: 88
以下这个任务的Python实现代码:
```python
import os
import datetime
folder_path = r"F:\123"
file_list = []
# 遍历文件夹,找到所有txt文件
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith(".txt"):
file_path = os.path.join(root, file)
file_list.append(file_path)
# 找出修改日期最接近电脑系统当前日期的那个文件
current_time = datetime.datetime.now()
min_time_diff = datetime.timedelta.max
chosen_file = None
for file_path in file_list:
modify_time = datetime.datetime.fromtimestamp(os.path.getmtime(file_path))
time_diff = abs(current_time - modify_time)
if time_diff < min_time_diff:
min_time_diff = time_diff
chosen_file = file_path
# 将该文件移动到导出目录下
export_path = r"C:\export"
new_file_name = os.path.basename(chosen_file)
new_file_path = os.path.join(export_path, new_file_name)
os.rename(chosen_file, new_file_path)
# 删除该文件
os.remove(new_file_path)
```
该代码中,首先使用`os.walk`函数遍历指定文件夹下的所有文件,找到所有txt文件,并将其路径存储到`file_list`列表中。然后,使用`datetime`模块获取当前时间,遍历`file_list`列表中的所有文件,计算每个文件的修改日期与当前时间的差值,找到差值最小的文件并将其路径存储到`chosen_file`变量中。
接着,将该文件移动到导出目录下,并将其重命名为原文件名。最后,使用`os.remove`函数删除该文件。
阅读全文