仅在日期更改时运行脚本时,如何增加变量?

时间:2019-01-31 17:40:09

标签: python

我从这个站点借了一些代码来在运行python脚本时增加一个数字。这很好。我想做的是,如果脚本在一天内运行了无数次,则该变量不应更改。当脚本在另一天运行时,该天该数字将增加一次。这是我借的代码。

:=

2 个答案:

答案 0 :(得分:1)

您应该将当前日期与变量的当前值一起写入文件。这样,下次运行脚本时,它不仅可以导出变量值,还可以导出上次增加脚本的日期。如果这与当前日期匹配,请不要增加变量值。如果不匹配,请增加该值并将其与当前日期一起写回到文件中。

import datetime

try:
  with open('varstore.dat') as f:
    date_string, val_string = f.read().split()
except FileNotFoundError:
  date, val = None, 0
else:
  date = datetime.datetime.strptime(date_string, '%Y-%m-%d').date()
  val = int(val_string)
today = datetime.date.today()
if date != today:
  val += 1
  with open('varstore.dat', 'w') as f:
    f.write("%s %s" % (today, val))

答案 1 :(得分:1)

如果您不想将当前日期保存在文件中,则可以使用Chere个文档。

C==0将为您提供类似于以下内容的内容:os.stat('filename')

您可以通过os.stat()获得st_mtime值。这是上次修改文件的时间。

This answer说明了如何将其转换为日期时间。然后,您可以将上次修改的日期时间与当前日期时间进行比较,并检查是否经过了合理的时间以增加计数器。