如何在某个日期之后设置Python脚本的到期时间

时间:2019-05-09 10:58:38

标签: python tkinter

我用python脚本编写了一个脚本,并使用Tkinter创建了GUI。我想设置我的exe的到期时间,该exe在创建30天后不会加载,有什么可能的方法吗?

    def program_expired():

        if os.path.exists(launch_date):
            with open(launch_date, 'r') as fileRead:
                time_as_str = fileRead.read()
                print(time_as_str)
                start_date = datetime.datetime.strptime(time_as_str, "%Y_%m_%d")


                expire_date = start_date + datetime.timedelta(days=31)

                if datetime.datetime.now() > expire_date:
                    messagebox.Message("Your tool had expired")

                    sys.exit()

        else:
            main()
    def main():
        root = Tk()

        root.resizable(width=False, height=False)


        root.geometry("550x300")
        root.mainloop()
program_expired()

1 个答案:

答案 0 :(得分:0)

看起来您已经进行了逻辑设置,但是我不确定从文件中读取是否是您要执行的操作。这是将硬编码日期与当前日期进行比较的方法。

import tkinter as tk
from tkinter import messagebox
from datetime import datetime

def program_expired():
    app_date = datetime(year=2019,month=5,day=1) #setup a datetime object
    now = datetime.now()
    if (now-app_date).days >=5: #change to 30
        messagebox.showerror("Error","Your tool had expired")
    else:
        main()

def main():
    root = tk.Tk()
    root.resizable(width=False, height=False)
    root.geometry("550x300")
    root.title("Tool")
    root.mainloop()

program_expired()

请注意,如果用户将系统时间倒退到创建日期后的30天,则可以继续使用您的应用。如果是这样,您将需要其他一些东西,例如解析从Internet检索的时间。