你能帮我完成这个任务吗?我哪里做错了?
我在一台Windows 11机器上,我正在尝试编写一个python 3.11脚本:
1.对给定文件夹中包含的屏幕截图列表进行排序,
1.仅选择创建日期(或修改日期,无关紧要)早于某个给定日期(例如2022年4月30日)的文件,
1.添加这些文件(只有这些)到一个'老文件'列表.
1.最后将这些旧文件移动到垃圾桶。
请看下面我的尝试。
解释器返回一个TypeError msg,特别是在这行代码的后面部分:
追溯(最近调用最后调用):
...
if modified.date() <=dt.date(2022,4,30):
TypeError:"datetime. datetime"对象的描述符"date"不适用于"int"对象
from datetime import datetime as dt
import os , send2trash, timedelta
myuser=os.getlogin()
# set paths
archivePath=rf"C:\Users\{myuser}\Pictures\Saved Pictures\2022.11.zip"
logPath=rf"C:\Users\{myuser}\Downloads\screenshots\TEST"
# a list of ONLY old files based on 'last modified' time (since Epoch).
if os.path.isfile(archivePath):
print("Archive already exists, deleting copies in TEST folder.\n")
os.chdir(logPath)
old=[]
for file in sorted(os.listdir(logPath)):
modified=dt.fromtimestamp(os.stat(file).st_mtime) ## a float nr?
## conditions to be met:
if modified.date() <= dt.date(2022,4,30):
old.append(file)
else:
print(str(file), ': conditions NOT met.')
## mv to trashcan
numberFiles=len(old)
print(f"Deleting {numberFiles} file.")
for oldFile in old:
send2trash.send2trash(oldFile)
else:
print('No files deleted.')
1条答案
按热度按时间3gtaxfhh1#
通过修改以下行使其工作:
实际上,我弄错了
datetime.datetime
方法