我用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()
答案 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检索的时间。