Python: Daten mit Zeitstempel in eine Datei Schreiben

Gast #3523716
Es geht um ein Raspberry Projekt ich habe ein AD Wandler welcher jede 
Sekunde ausgelesen wird, der Wert wird dann in eine Datei geschrieben, 
und ständig überschrieben (Die Datei wird dann von einem Programm 
ausgelesen und erstellt ein Diagramm)

Nun möchte ich die Werte in eine Datei mit einem Zeitstempel schreiben.

Also es soll in etwa wie folgt aussehen: lese jede Sekunde die Datei 
abc.txt aus und schreibe den Wert mit einem Zeitstempel in die Datei 
time.txt

wie müsste hier das Python Skript aussehen ?
Gast #3523740
>der Wert wird dann in eine Datei geschrieben,
>und ständig überschrieben (Die Datei wird dann von einem Programm
>ausgelesen und erstellt ein Diagramm)

Wenn die Datei auf einem Flash-Speicher gespeichert ist, könnte das 
sekündliche Beschreiben jenes Speichers die Lebenserwartung doch arg 
verkürzen. Kann sein, dass ein gutes OS das Puffert, sicher bin ich mir 
aber nicht. Der Umweg über die Datei scheint mir keine geeignete Methode 
zu sein. Mal über eine Datenbank nachgedacht, oder die Daten direkt zu 
verarbeiten?

Gruß Jonas
#3523741
import time
while True:
  with open('abc.txt', 'rb') as input:
    value = input.read()
  with open('time.txt,'ab') as output:
    output.write("%s\t%s\n" % time.time(), value)
  time.sleep(1)


Oder natuerlich schicker formatieren, statt einem Unix Zeitcode...
Gast #3523812
@ Florian F erstmal Danke für deine Hilfe jedoch stimmt etwas mit dem 
Skript nicht, wenn ich es ausführen will kommt folgende Meldung:

File "Dateiname.py", line 9 in <module>
   output.write("%s\t%s\n" % time.time(), value)
TypeError:not enough arguments for format string
Gast #3524069
ich habe die Zeile jetzt so da stehen:

output.write, ("%s\t%s\n % time.time()", value)

jetzt kommt zwar keine Fehlermeldung, jedoch bleibt die Datei time.txt
in dem die Werte und der Zeitstempel rein geschrieben werden soll leer.
Gast #3524117
Der Gast schrieb:
> jedoch bleibt die Datei time.txt
> in dem die Werte und der Zeitstempel rein geschrieben werden soll leer
Ach, das wundert dich?
Die Datei wird ja auch nicht geschlossen, und damit wird auch nichts 
geschrieben.

Der Gast schrieb:
> jedoch stimmt etwas mit dem
> Skript nicht

Der Gast schrieb:
> Nun möchte ich die Werte in eine Datei mit einem Zeitstempel schreiben.
Der Gast schrieb:
> wie müsste hier das Python Skript aussehen ?

"Ich hab hier ein Projekt, will aber nichts dafür tun. Macht ihr das mal 
für mich..."
Gast #3524400
ich habe nun folgendes Python Skript:

    import datetime

    while True:
      with open('abc.txt', 'rb') as input:
        value = input.read()
      with open('time.txt,'ab') as output:
      output.write, ("%Y-%m-%d %H:%M:%S" % datetime.datetime(), value)
    time.sleep(1)

Es kommt jedoch folgende Fehlermeldung:
TypeError: Required argument "year" (pos 1) not found
Was ist nun falsch ?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.