python如何让程序每天只运行一次

最近做了一个小程序,本来是双击直接运行的,

每天需要运行一次,完成任务退出。

后来怕不小心多运行一次,造成不必要的麻烦,

就增加了提醒input(‘每天只能运行一次,你确定要运行吗?‘)

后台设置,只有回复“是”才会运行,否则将直接退出程序。

本来已经满足了基本需求,但人总是很懒惰,那个“是”我实在懒得输入了。

于是给程序增加了一个验证,每次运行会验证本地一个文件,姑且叫它fuck.json

这个文件中写入了一个日期的字符串“2020-04-30”。

运行程序的时候,python的open()函数会打开文件读取其中的内容,

然后把datetime模块中的datetime.date.today()先字符串化,和fuck.json内容进行比较。

不相等就说明今天还没有运行,相等就说明今天已经运行过一次了。

之所以有这种结论,是因为程序最后我增加了一个写入文件的操作,我会把今天的日期写入文件。

算了,还是直接上代码吧。初学者,水平一般,所以代码也很一般,欢迎批评指正。

import datetime
nowtime=datetime.datetime.now()
with open(‘fuck.json‘)as f:
  kk=f.read()
  tdtime=datetime.date.today()
  if kk.split(‘ ‘)[0]==str(tdtime):
    print(f‘今天已经运行过了,运行时间是{kk[:-7]}‘)
    input(‘按回车退出...‘)
    exit()
  else:
    pass

  
print(‘hello‘)#这里是你要运行的函数

with open(‘fuck.json‘,‘w‘)as f:    #
  f.write(str(nowtime))
input(‘**********************\n运行成功\n按回车键退出...‘)

代码和上面的描述略有不同,只是增加了第一次运行的时间。

记得,本地一定要有个fuck.json,里面随便写个数字就行,别写中文。

顺便说一句,配合win10自带的任务计划程序,每天自动运行,更方便

相关推荐