I have a problem with the current project I am working on. When I start my script in VSC then everything works fine and currently works as it is intended. I converted the whole thing as an exe with auto-py-to-exe and that also worked normally ... except that the first script has not called the second although the first has recognized that in the folder a new XML file exists. I thought first the error lies with auto-py-to-exe but then I started the scripts manually and there it was exactly the same so auto-py-to-exe has made no error in any case, if I start the scripts manually (so in which I click on the .py file) then it also does not work as wanted it happens exactly the same as with the exe file. My goal is that the exe file works the same way as the whole thing in VSC.
import os, time import TestGui def main(): print("in Watchdog") path_to_watch = "................" before = dict ([(f, None) for f in os.listdir (path_to_watch)]) done = True while done: time.sleep (10) after = dict ([(f, None) for f in os.listdir (path_to_watch)]) added = [f for f in after if not f in before] removed = [f for f in before if not f in after] if added: print ("Added: ", ", ".join (added)) if removed: print ("Removed: ", ", ".join (removed)) print(type(added)) if len(added)>0: if ".xml" in added[-1]: print("i´m in") TestGui.start_app(added) # before = dict ([(f, None) for f in os.listdir (path_to_watch)]) # done = False # exit() if __name__ == "__main__": main()
here the GUI
import tkinter as tk from tkinter import Label, filedialog , Text import os import xml.etree.ElementTree as ET from PIL import Image, ImageTk def start_app(added): root = tk.Tk() root.configure(background='white') report_file = open(added[-1], 'r', encoding= "cp1252") xml_file = error_bool = False for line in report_file: stripped_line = line.strip() #line_list = stripped_line.split() xml_file.append(stripped_line) report_file.close() errorList = operationList = counterList = for line in xml_file: if "description='"" in line: line = line.split(""") operationList.append(line) for line in xml_file: if line.find("simulator_out_of_range") == 1 or line.find("simulator_collision") ==1 or line.find("operation id=")==1: if "operation id=" in line : line = line.split('"') counterList.append(line) errorList.append(operationList[int(line)-1]) elif not (len(errorList)>1 and line == errorList[-1]): errorList.append(line) error_bool = True t = Text(root, width = 100, height = 10, wrap = "none", background= "white", foreground="black") ys = tk.Scrollbar(root, orient = 'vertical', command = t.yview) xs = tk.Scrollbar(root, orient = 'horizontal', command = t.xview) t['yscrollcommand'] = ys.set t['xscrollcommand'] = xs.set for line in errorList: t.insert('end', line+"\n") t.grid(column = 0, row = 0, sticky = 'nwes') xs.grid(column = 0, row = 1, sticky = 'we') ys.grid(column = 1, row = 0, sticky = 'ns') if error_bool is True: img = Image.open('thumbs_down.png') else: img = Image.open('thumbs_up.png') img = ImageTk.PhotoImage(img) img_label = tk.Label(image=img) img_label.image = img img_label.grid(column=3,row=0) close_btn_text = tk.StringVar() close_btn = tk.Button(root, textvariable= close_btn_text, font="Raleway", command= lambda:[exit()]) close_btn_text.set("Close Report") close_btn.grid(column=1, row=2) #root.grid_columnconfigure(0, weight = 1) #root.grid_rowconfigure(0, weight = 1) root.mainloop()
Hope someone can help me