I am writing a script and I want it to run in the back ground and to manifest itself every 6 hours. I don't want to have an opened console all the time, I want tkinter to pop a window in which it prints the output of the script that i can then close and that will do the same in 6 hours.
There is my code.
from datetime import datetime
import time
from tkinter import Tk, Label
dict_n = {}
def func():
def check():
today = datetime.today()
a = str(today.day) + "/" + str(today.month)
li_b = []
li_c = []
li_l = []
li_k = []
for i, j in dict_n.items():
l = j.replace(" ","")[:-5]
li_l.append(l)
if l == a:
c = 0b1
li_b.append(i)
li_c.append(c)
li_k.append(j[-4:])
else:
c = 0b0
li_c.append(c)
k = str(today.year)
return a, li_c, li_b, k, li_k
date, li_bit, li_names, k, li_k = check()
v = "Hi!"
v += ("string " + date + "\n")
maskb = 0b1
d = 0
for p in li_bit:
if p & maskb == 0:
d += 0
if p & maskb != 0:
m = int(k) - int(li_k[d])
v += ("string" + li_b[d] + str(m))
d += 1
if d == 0:
v += ("string")
return v
def main():
root = Tk()
test = func()
w = Label(root, text=test)
w.pack()
root.mainloop()
g = 1
while g != 2:
root = Tk()
time.sleep(21600)
retest = func()
h = Label(root, text=retest)
h.pack()
root.mainloop()
if __name__ == '__main__':
main()
The problem is : As long as I use python.exe it works perfectly. But since I don't want to have the console open I would like to use pythonw.exe. And then it does not work. Whan I say it does not work is that when I execute the script from my desktop by simple double clicking nothing happens. (as opposed to the use of python.exe which behaves exactly how I want it to behave, every 6 hours, a window pops open with the output of "func" printed in it) Sorry for the large amount of code but I heard that some operations don't run without a console and I have no clue which operation could have this problem.
Could you help me identify the problem please.
Capurot