Python Datei schreiben funktioniert nicht?

6 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich denke, dass du bei text kein String übergibst und deshalb ein Fehler kommt. Ich hab es mal unter normalen Umständen ausprobiert und es hat geklappt.

def file_write(text: str) -> str:
    with open("test.txt", 'a+') as file_:
        file_.write('\n' + str(text))

file_write("Hello world")
Woher ich das weiß:Hobby – Erfahrener Programmierer

Alternativ probiere es mal mit:

print('mein String', file=open('Datei.txt', 'a'))

Dann spart man sich das with open(file, 'a+') as file_ und so weiter.

Quelle: Python - Print to File - AskPython

Woher ich das weiß:Studium / Ausbildung
ILHKI 
Fragesteller
 22.08.2022, 21:03

Ich möchte am Ende den gesamten Inhalt der Datei in einer Liste (Array) stehen haben

0
klingelkus  22.08.2022, 21:06
@ILHKI

Soweit ich weis geht das auch damit. Wird einfach immer unten angefügt. Allerdings weis ich nicht ob das für das Beispiel gilt oder ob dann da a+ oder so etwas ähnliches stehen muss.

0
ILHKI 
Fragesteller
 22.08.2022, 21:13

geht auch nd ._.

0
ILHKI 
Fragesteller
 22.08.2022, 21:15

Wie funktioniert n dieses file.readlines(), was man so überall im Internet sieht, bei mir gibts das nd...

0

Nimm mal das str() weg und probiere ob es klappt.

Woher ich das weiß:Hobby
ILHKI 
Fragesteller
 22.08.2022, 21:01

also file_.write('\n' + text)?

0
ILHKI 
Fragesteller
 22.08.2022, 21:02

selber Fehler

0
Von Experte mihisu bestätigt
ich übergebe doch einen String

Ganz offensichtlich ja nicht.

was mache ich falsch?

Den Codeteil verschweigen in dem du die Variable file definierst.

P.S.: Ich bin mir zu 95% sicher, dass

print(type(file) == str)

die Ausgabe False erzeugen würde...

TextIoWrapper ist genau der Type den open zurück gibt. Sicher nicht dass du irgendwo im code die Zeile "file = open(...)" hast?

Woher ich das weiß:Hobby – Ich interessiere mich für das programmieren und Informatik