我不知道如何将“某天”解释为日期或时间[Python]

2024-05-16 16:13:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用about date开发python-时间。它目的是列出过去util today中特定日期的文件。不幸的是,我得到了这个错误: 我不知道如何将“某天”解释为日期或时间

代码:

import os
import datetime

day = 3
hour = day * 24
today =datetime.date.today()
someday = today - datetime.timedelta(hours=hour)

print someday, today

os.system('find . -type f -newerat someday !  -newerat today')

结果:

2016-08-31 2016-09-03 发现:我不知道如何将“某天”解释为日期或时间

我知道我错过了一些东西来定义“某天”是一个约会。当我把“2016-08-31”放在“某天”上时,它就起作用了。在

有人可以花你宝贵的时间来帮助我。我非常感谢你的帮助。在

谢谢你


Tags: 文件import目的todaydatetimedateos错误
2条回答

您不需要在find命令字符串中传递文本值somedaytoday,而是需要包含这些python变量的字符串表示形式。试试以下方法:

os.system('find . -type f -newerat ' + str(someday) + ' ! -newerat ' + str(today))

os.system('find . -type f -newerat %s ! -newerat %s' % (str(someday), str(today)))

someday是一个datetime.date对象。您的问题似乎是关于如何在调用find时使用它。仅仅把someday放在字符串中是行不通的,因为Python无法知道字符串的"someday"部分与someday变量相关。在

可以使用字符串格式将someday和{}插入传递给os.system的字符串中:

os.system('find . -type f -newerat {} ! -newerat {}'.format(someday, today))

更好的选择可能是使用更复杂的库函数,比如subprocess模块中的一个选项。它们通常可以将参数列表传递给您选择的任何外部程序。在

^{pr2}$

相关问题 更多 >