Python Input als Datei speichern?

2 Antworten

  1. warum weist du den vorhandenen Attributen neue Variablen zu, wenn du sie im Moment nur zum Printen verwendest? Nutz sie doch direkt?
  2. Ja, du kannst diese als Text-Datei abspeichern.

aus dem Kopf (müsste noch getestet werden), könntest du es in etwa so machen:

with open(file_path, "w+") as f:
  s = f"First Name: {self.firstname.text}\nLast Name: {self.lastname.text}\nBirthdate: {self.birthdate.text}\nBody Height: {self.bodyheight.text}\nBody Weight: {self.bodyweight.text}"
  f.write(s)

Dies sollte eine Textdatei mit allen Werten in je einer Zeile pro Wert erstellen - und dank w+ wird die Datei erstellt, wenn nicht existiert.

w+ überschreibt aber den vorhandenen Text - es gibt auch eine Flag, um es zu ergänzen


Marlena1901 
Beitragsersteller
 18.04.2020, 13:22

file_path funktioniert bei mir nicht. Muss ich dafür irgendwas importieren?

xxxcyberxxx  18.04.2020, 13:49
@Marlena1901

file_path ist in dem Fall eine Variable, die den Pfad zur Datei als String enthält. kannst das natürlich auch durch den Pfad (relativ z.B.) direkt ersetzen

Marlena1901 
Beitragsersteller
 18.04.2020, 13:07

Okay, dankeschön. Ich versuchs gleich mal. Und 1., ich hab ehrlich gesagt auch keine Ahnung. Das ist schon etwas länger her, dass ich das geschrieben habe

text = "\n".join(pressed1)

f = file("dateiname.txt", "w")

f.write(text)

f.close()


Marlena1901 
Beitragsersteller
 18.04.2020, 18:16

text = "\n".join(pressed1) funktioniert nicht. "pressed1" wird hier als 'not defined' angegeben. Muss ich da noch iwas angeben?

sandesk  18.04.2020, 18:34
@Marlena1901
text = "\n".join(print)
f = file("dateiname.txt", "w")
f.write(text)
f.close()
Marlena1901 
Beitragsersteller
 18.04.2020, 18:50
@sandesk

text = "\n".join(print)

 TypeError: can only join an iterable