Beiträge von JanR

    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.

    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 :)

    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

    So endlich Zeit gefunden. Daher bin ich ja auch so ratlos. Mein skript funktioniert nicht.

    wenn ich in meinem skript x = "test". einfüge und die ser.readline() auskommentiere, funktioniert es wie es soll.

    Gehe davon aus das es mit der ser. readline() zu tun hat. Weiß aber nicht warum und wie ich das ändern kann.

    Setze in die beiden with-Konstrukte auch noch mal print statements und gib dort file_x.name und file_x.mode aus. Wie sehen die aus?

    Da komme ich leider noch nicht mit. Weiß nicht was du damit meinst.

    Habe wie Manul es vermutet keinen USB Stick o.ä. am Port. Dort läuft ein Funkalarmempfänger der wenn er alarmiert ist daten übermittelt. Aber wie gesagt da geht es ja nicht drum. Das Problem ist, dass bei "w" nicht in die datei Geschrieben wird. In ihr steht nix.

    und poste erneut die Ausgabe der obigen Befehle.

    Wie genau rufst Du Dein Skript denn auf?

    drwxr-xr-x 26 pi pi 4096 Okt 10 10:34 /home/pi

    -rwxrwxrwx 1 pi pi 1128 Okt 11 08:26 /home/pi/test.txt

    -rwxrwxrwx 1 pi pi 2 Okt 11 08:26 /home/pi/LOG_D.txt

    die tail hab ich ausgeführt. Da kommt bei LOG_D.txt keine Ausgabe und bei test.txt kommen alle Meldungen (darf ich nicht darstellen)

    uid=1000(pi) gid=1000(pi) Gruppen=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),101(input),108(netdev),997(gpio),998(i2c),999(spi)

    Gestartet wird das script über die RC.local.

    Zum testen starte ich es direkt über die Console.

    -rw-r--r-- 1 pi pi 18 Okt 11 09:32 /home/pi/append.txt

    -rw-r--r-- 1 pi pi 9 Okt 11 09:32 /home/pi/write.txt

    In der append.txt steht 2x Testtext in der write 1x. Dein Script funktioniert

    uid=1000(pi) gid=1000(pi) Gruppen=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),101(input),108(netdev),997(gpio),998(i2c),999(spi)

    Sehr gerne. Hoffe das ist jetzt richtig so:

    Hallo liebe Forummitglieder,

    nach wochenlangem Suchen, bin ich leider (für mich) gezwungen hier mal eine Frage zu stellen, da ich gerade in einem wohl eher simplen Programm nicht weiter komme.

    Ich möchte eine über USB angeschlossene Informationsquelle abhören und bei einem Eingang die Information in Dateien speichern. Dieses zweimal. Einmal als Dokumentation mit dem Kürzel "a" und eimal zur Weiterverarbeitung mit "w".

    Mein Problem ist, dass das mit überschreiben(w) nicht funktioniert... "a", "r2" funktioniert. "w" nicht.

    Woran könnte das liegen?

    Hab im Quellcode ein paar Sachen, die ich später noch brauche, also bitte nicht wundern.

    Vielen Dank jetzt schon für eure informativen Antworten.

    Gruß Jan