在工作中刚好需要用到这个功能,故写了一个。
注:运行本程序后,自动在 当前运行目录生成“aa_logdate.txt”文件,
用来记录日期及运行次数。
第一次发贴,若有不妥或更好的建议,请批评指正!
[Python] 纯文本查看 复制代码 import time
import os
import sys
# 主要功能是为了检测程序当天运行的次数。
def process_count():
mytimedict = {'1':'', '2': 0} # 1 存储程序运行的时间,如:20230912 2 存储运行程序的次数
myfilename = os.path.join(os.path.split(os.path.realpath(sys.argv[0]))[0], 'aa_logdate.txt')
# 当前运行目录,生成文件名
mydate = time.strftime('%Y%m%d', time.localtime())
# 返回字符型日期,如:20230912
if os.path.exists(myfilename): # 如何文件存在
with open(myfilename,'r+') as myf:
temp_txt = myf.read()
temp_dict = eval(temp_txt)
# 以上3行,从文件中获取内容,并按内容转换为字典
if temp_dict.get('1') == mydate:
# 文件中的字典中的“1”与当前时间相比较。如果相同,表示今天不是第一次运行。
temp_dict['2'] = temp_dict.get('2') + 1
with open(myfilename,'w+') as myf:
myf.write(str(temp_dict))
# 以上3行,将字典“2”的值在原来的基础上加1,并写入到文件中保存
print('本程序今天系第{}次运行。'.format(temp_dict.get('2')))
return temp_dict.get('2') # 返回字典中“2”的值
else: # 下面表示 今天系第一次运行;故新生成字典并写入文件存储
mytimedict['1'] = mydate
mytimedict['2'] = 1
with open(myfilename,'w+') as myf:
myf.write(str(mytimedict))
print('本程序今天系第1次运行。')
return 1
else:
# 文件不存在;即 表示程序从来都没有运行过;故新生成字典并写入文件存储
mytimedict['1'] = mydate
mytimedict['2'] = 1
with open(myfilename,'w+') as myf:
myf.write(str(mytimedict))
print('本程序今天系第1次运行。')
return 1
if __name__ == '__main__':
process_count() |