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

Posted jiaosenvip

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(‘**********************
运行成功
按回车键退出...‘)

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

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

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

以上是关于python如何让程序每天只运行一次的主要内容,如果未能解决你的问题,请参考以下文章

UI5 - XML 片段中的格式化程序只执行一次。如何再次运行它们?

UI5 - XML片段中的格式化程序只执行一次。如何再次运行它们?

如何使用 Python 中的 subprocess 模块启动和停止 Linux 程序?

如何在 C# 中每天激活一次线程

python:假如一个变量,如何让这个变量每天都归零

Linux守护进程实现程序只运行一次