有没有一种方法可以检查自上次打开程序以来已经过了多少天——Python
Python中有没有一种方法可以保存程序打开的日期,然后检查它是何时打开的,以及从那以后有多少天有没有一种方法可以检查自上次打开程序以来已经过了多少天——Python,python,python-3.x,datetime,Python,Python 3.x,Datetime,Python中有没有一种方法可以保存程序打开的日期,然后检查它是何时打开的,以及从那以后有多少天 例如,假设我在2018年5月7日运行该程序,然后在2018年5月14日再次运行该程序,有没有办法告诉我7天已经过去,并将该天数分配给一个变量?编辑:下面是一个开箱即用的版本: import configparser from datetime import datetime, timedelta config = configparser.ConfigParser() config.read('
例如,假设我在2018年5月7日运行该程序,然后在2018年5月14日再次运行该程序,有没有办法告诉我7天已经过去,并将该天数分配给一个变量?编辑:下面是一个开箱即用的版本:
import configparser
from datetime import datetime, timedelta
config = configparser.ConfigParser()
config.read('dates.ini')
try:
last = (datetime.strptime(config['Dates']['last'], '%Y-%m-%d %H:%M:%S.%f'))
except KeyError:
last = datetime.today()
cfgfile = open("./dates.ini",'w')
try:
config.add_section('Dates')
except configparser.DuplicateSectionError:
pass
config.set('Dates','last',str(datetime.today()))
config.write(cfgfile)
cfgfile.close()
print((last - datetime.today()).days)
在运行该程序之前,您可以查看上次访问该文件的时间,但当您启动该程序时,为时已晚,因为您再次访问了该文件。但是你可以在完成时将当前日期写入一个文件,然后在再次运行时查看该文件,除非用户做了一些愚蠢的事情。非常简单。将脚本运行的最新日期写入外部文本文件,在第二次运行脚本时读取该日期,并将该日期与当前日期进行比较。只需完全按照您的要求执行即可--
1
保存日期(其中包含两个子问题a
获取日期和b
保存到文件),和2
检查数据(其中再次包含a
读取文件b
获取当前日期c
查找差异)。总之,可能太宽泛了。如果程序运行了几天,最后一次完成时可能会更有趣。可能,尽管问题确实指定了“何时打开”。但要在退出时执行某些操作,我假设您只需要这样的操作:import-atexit
和atexit.register(myfunction)
-但我从未使用过atexit
,所以我不太确定。dates.ini中会出现什么?如果我只是启动它,它会出现一个“日期”的关键错误是的,你是对的-我没听清楚。我将编辑我的答案。我不在家测试它,但这应该可以解决它。好吧,它现在可以工作了,但它返回的值是负值,它减去了最终值的1。因此,如果我将dates.ini中的日期更改为7天前,程序将输出数字-8,而不是正7。我对python非常陌生,这就是为什么我自己无法找出问题所在