Call back einrichten von einem zweiten Python Skript

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Nietzsche
User
Beiträge: 25
Registriert: Dienstag 2. Mai 2023, 13:15

Hallo,

ich hab 2 Python skripte. Ein Mainskript von dem ich über einen Button ein zweites aufrufe (über einen Q Thread). Dieses Skript verbindet sich mit einem ESP und erstellt dann eine Exel Datei mit den Namen des Datums uns Uhrzeit, wenn die Verbindung klappt. Jetzt gibt mir das Skript Serial den Namen der Exel Datei aus. Nun möchte ich in meinem Hauptskript einen Call Back einrichten, wo das Skript dann den Namen des Excel Files übergeben wird, wenn das Skript angelegt wird, Wie mache ich das?
Nietzsche
User
Beiträge: 25
Registriert: Dienstag 2. Mai 2023, 13:15

Ich hätte mir sonst folgende Lösung überlegt. Ich weiße beim ersten Durchlauf der Variable Filename das Datum und Uhrzeit zu ab dem das Prog gestartet wurde. Dann öffne ich vom Hauptskript die .py und importiere diese zuvor, wodurch ich dann auf den Parameter zugreifen kann. Dürfte klappen, oder? Wenn man Start klickt sucht dann das Hauptprogramm in dem Ortner ob dort das File mit dem Namen liegt.
Benutzeravatar
__blackjack__
User
Beiträge: 13931
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Nietzsche: Die Beschreibung (im ersten Beitrag) ist nicht so wirklich verständlich. Zudem sieht der zuletzt gezeigte Quelltext von Dir aus als wenn ChatGPT den geschrieben hätte (https://pastebin.com/JbDJrXe1). Das ist so kein sinnvolles Programm. In dem Code ist einiges was bereits in vorherigen Beiträgen angesprochen wurde das man das so nicht macht. Du gehst da anscheinend nicht drauf ein und willst gar nicht wirklich programmieren lernen. Da schwindet die Motivation zu helfen, wenn da sowieso nichts von angenommen wird.

Das sollten keine zwei Skripte sein, sondern eines. Vielleicht sogar auf mehr als ein Modul verteilt, aber wenn man aus einem Python-Programm ein anderes Python-Programm startet ist das in 99,99% der Fälle unsinnig, weil unnötig komplex.

Warum wird da eine Excel-Datei erstellt und wozu muss man innerhalb des gleichen Programms den Namen dieser Datei irgendwo hin übertragen? Um die dann wieder zu öffnen und zu lesen? Warum werden da nicht gleich die Daten innerhalb des Programms übertragen?

Zum zweiten Beitrag: NEIN! Man öffnet keine *.py-Datei, schreibt da Werte als Python-Quelltext rein, und importiert die Datei dann. Wie krass unsinnig kompliziert soll denn das noch werden‽
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
Nietzsche
User
Beiträge: 25
Registriert: Dienstag 2. Mai 2023, 13:15

Hallo Jack,

danke für deine Antwort. Du hast vollkommen recht, ich habe die Datei als Modul importiert und konnte den Fehler nun beheben (hab einfach nach dem Erstellen der Datei nochmal die Variable neu importiert und hatte sie nun in Mainskript). Das Problem war, dass ich für Bleak einen eigenen Thread brauche und meine erste Version mit Multithreading nicht mit Qt kompatible war, darum wechselte ich auf Q Threads, wobei das bei Bleak nur bei WRITE und nicht NOTIFY ging (ev hatte ich igw einen Fehler, ich konnte ihn jedenfalls nicht finden), so dass ich zwar meine Parameter erfolgreich am ESP updaten konnte, aber die Daten nicht mehr lesen. Da ich aber noch das alte Skript hatte, habe ich eben dieses genutzt. Mit dem Modul klappt es viel besser, die Lösung war mir aber nicht bekannt. Ich habe die Beiträge alle genau gelesen und will den Code dann sauber aufarbeiten, ich bin ja schon relativ weit und rein von der Funktion her klappt es sehr gut (nichts friert ein, schöne GUI, Verbindung klappt einwandfrei, Excel Datei wird erstellt und speichert alles korrekt untereinander ab usw usf). Ja ich hatte ein paar fertige Cods bei dem letzten Skript genutzt, hab ich aber schon alles besser überarbeitet.

Beste Grüße und vielen Dank.
Antworten