吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1549|回复: 12
收起左侧

[Python 原创] 检测程序当天运行次数

[复制链接]
wapjsx 发表于 2023-9-12 17:18
在工作中刚好需要用到这个功能,故写了一个。
注:运行本程序后,自动在 当前运行目录生成“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()

免费评分

参与人数 4吾爱币 +9 热心值 +4 收起 理由
qweofg + 1 + 1 谢谢@Thanks!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
LuckyClover + 1 + 1 谢谢@Thanks!
Stomachache + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Raohz520 发表于 2023-9-12 18:08
直接写在本地上实际上也不太好,建议使用sqlite,就是麻烦点。当然这个东西再改一改就可以全局检测每个应用的启动次数 、启动时间等
 楼主| wapjsx 发表于 2023-9-12 21:17
xiejuelianai 发表于 2023-9-12 19:39
直接写入到注册表里面不香?万一别人删了那文本呢,那数据不清零了??

文件只是存储两个数据:日期与运行次数。

这个文件被删除了,会自动生成,且也表示当天第一次运行。
LuckyClover 发表于 2023-9-12 18:55
xiejuelianai 发表于 2023-9-12 19:39
直接写入到注册表里面不香?万一别人删了那文本呢,那数据不清零了??
wzbAwxl 发表于 2023-9-12 19:44
感谢师傅分享
LeonSmith123 发表于 2023-9-12 19:57
主程序中调用process_count()后面,是不是需要跟着其他功能函数的调用啊。不然好像有点呆
 楼主| wapjsx 发表于 2023-9-12 21:18
LeonSmith123 发表于 2023-9-12 19:57
主程序中调用process_count()后面,是不是需要跟着其他功能函数的调用啊。不然好像有点呆

是的!  这只是一个小技巧而已; 需要配合其他的代码来实现更多的功能。
头像被屏蔽
moruye 发表于 2023-9-12 21:19
提示: 作者被禁止或删除 内容自动屏蔽
redfieldw 发表于 2023-9-12 23:15
python脚本确实用途广泛
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-28 14:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表