Python: Text in Datei fortlaufend?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Sorry ich versteh das nicht.

Willst du jetzt am Ende der Datei einen neuen Timestamp speichern? Oder wie?


fliz1999 
Beitragsersteller
 26.11.2019, 12:15

genau

Kreasteve  26.11.2019, 12:21
@fliz1999
import sys
from datetime import datetime
now = datetime.now()
summery = now.strftime("%Y:%m:%d:%H:%M:%S") 
i = 1


fobj_in = open("Zeiten.txt") 
fobj_out = open("Zeiten.txt","a")

for line in fobj_in:
    print(line.rstrip()) #gibt datei in Console aus
    i = i + 1

fobj_out.write(str(i) + ":" + summery + "\n")
    
fobj_in.close()
fobj_out.close()

oder übersichtlicher:

import sys
from datetime import datetime
now = datetime.now()
summery = now.strftime("%Y:%m:%d:%H:%M:%S") 
i = 1


with open("Zeiten.txt") as fobj_in:
  for line in fobj_in:
      print(line.rstrip()) #gibt datei in Console aus
      i = i + 1

with open("Zeiten.txt","a") as fobj_out:
  fobj_out.write(str(i) + ":" + summery + "\n")

Dann steht i+1 immer für die Anzahl der Zeilen, bevor der neue Eintrag angehängt wurde.

Besser?

fliz1999 
Beitragsersteller
 26.11.2019, 12:24
@Kreasteve

Funtioniert genauso wie es soll vielen lieben Dank

KarlRanseierIII  26.11.2019, 12:27
@Kreasteve

Wenn DAS das Ziel ist, dann reicht es auch die Datei einmalig zu öffnen.'r+' sollte es dann tun.

Naja, Du hängst die gesamte Eingabedatei an die Ausgabedatei an, weil Du diese mit 'a' also append öffnest.

Wenn Du etwas anderes tun möchtest, dann solltest Du genau spezifizieren können, was ausgeführt werden soll. Dann kannst Du das auch relativ leicht abbilden.


fliz1999 
Beitragsersteller
 26.11.2019, 12:19

Danke für deine Antwort, hast du ein Link das ich es mir erarbeiten kann für mich? Finde derzeit nix bei Googele.

KarlRanseierIII  26.11.2019, 12:22
@fliz1999

Die Dokumentation von Python beinhaltet eigentlich alles.

Wenn DU wirklich nur an die Datei anhängen möchtest, dann öffnest DU sie mit 'a' und schreibst direkt rein, Du liest vorher nicht die Datei ein und schreibst sie komplett nochmal.

Beispiel:

of=open("stamps.txt",'a')
of.write(timestamp)
of.close()