Informationen über USB einlesen und in Datei speichern

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Sehr merkwürdig. Ändere Dein Skript mal versuchsweise wie folgt:

    Wie ist dann die Ausgabe?

  • Informationen über USB einlesen und in Datei speichern? Schau mal ob du hier fündig wirst!

  • Ausgabe in der console:

    <type 'str'>

    writing x = "

    " to file 1

    done

    writing x = "

    " to file 2

    done

    <type 'str'>

    writing x = "12:51 16.10.18

    " to file 1

    done

    writing x = "12:51 16.10.18

    " to file 2

    done

    <type 'str'>

    writing x = "23A

    " to file 1

    done

    writing x = "23A

    " to file 2

    done

    <type 'str'>

    writing x = "Einzelruf

    " to file 1

    done

    writing x = "Einzelruf

    " to file 2

    done

    <type 'str'>

    writing x = "" to file 1

    done

    writing x = "" to file 2

    done

    keine Ausgabe in beiden txt Dateien

  • Okay, Du liest also offenbar nicht eine Zeile, sondern mehrere ein. Wenn Du die eine Datei mit jeder dieser Zeilen überschreibst, steht am Ende natürlich nur die letzte drin. Und die ist, wie in der Ausgabe zu sehen, ein leerer String. Die leere Datei ist also zu erwarten.

    keine Ausgabe in beiden txt Dateien

    Das hingegen wundert mich: Wird jetzt tatsächlich nicht mehr in die "append"-Datei geschrieben? Das hat doch vorher funktioniert.

  • haben bestimmt zusammen geschrieben. Du hast in deinem Quelltext die Unterstriche bei file 1 zu file_1 vergessen. Hab das ergänzt. jetzt geht die append wieder.

    Jetzt verstehe ich die Ausgabe. Ok. Kann ich das ändern? möchte das in der write.txt genau das gleiche drin steht wie in der append.txt

    Das möchte ich dann splitten. dazu habe ich das script schon fertig :)

  • Du hast in deinem Quelltext die Unterstriche bei file 1 zu file_1 vergessen. Hab das ergänzt. jetzt geht die append wieder.

    Daran kann's nicht liegen, da die bei mir lediglich im print-Befehl nicht stehen. Aber egal, Hauptsache es geht jetzt.

    Kann ich das ändern?

    Nur, wenn Du eine zuverlässige Methode hast, zu erkennen, wann eine Nachricht vollständig empfangen ist.

  • Dann versuch mal sowas in der Art:

    Komplett ungetestet direkt ins Forum getippt, Fehler sind also mehr oder weniger garantiert.

  • Ok. das funktioniert einwandfrei.

    Vielen Dank Manul für deine Geduld. So stelle ich mir das "Programmieren lernen" vor. Vormachen, nachmachen und erklären.

    Zum erklären versuche ich es selber: Mein Problem war, dass mit der write methode in "w" nur die erste Zeile der ser.readline ausgegeben wurde. Da sie ja leer war, konnte man nichts sehen und so dachte ich, dass die Ausführung nicht funktioniert.

    In deinem script definierst du einen Beginn und das Ende der ser.readline die du token nennst. Wenn der Beginn erfüllt ist, ließt du die anderen Zeilen aus und definierst sie in date, msg und code.

    Diese speicherst du dann zeitgleich in beiden Dateien sobald das Ende der Nachricht erfüllt ist.

    Danke nochmal. Ich werde jetzt nacharbeiten und mir die genutzten methoden noch einmal zu Gemüte ziehen.

  • Gern geschehen.

    Mein Problem war, dass mit der write methode in "w" nur die erste Zeile der ser.readline ausgegeben wurde. Da sie ja leer war, konnte man nichts sehen und so dachte ich, dass die Ausführung nicht funktioniert.

    Kleine Korrektur: Du hast schon alle Zeilen ausgegeben aber eben mit jeder Zeile die Datei wieder überschrieben. Was Du am Ende (nicht) gesehen hast, war also nicht die erste, sondern die letzte Zeile.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!