Die Idee hinter dem folgenden Code ist, dass wenn die Variable crop
bereits in der TXT-Datei enthalten ist die Variable quantity
am Ende der gleichen Zeile wie crop
hinzugefügt wird. Dies ist mein Versuch, dies zu tun, aber es funktioniert nicht: Sie müssen es wirklich ausführen, um zu verstehen, aber im Wesentlichen wird der falsche Abschnitt der Liste hinzugefügt, eine ständig wachsende Reihe von '/' erscheint und die Zeile Pausen verschwinden. Kann jemand diesen Code ändern, damit er richtig funktioniert?Warum funktioniert dieses Schreiben in Python nicht?
Was soll ausgegeben werden:
Lettuce 77 88 100
Tomato 99
Was tatsächlich ausgegeben:
["['\\n', 'Lettuce 77 \\n88 ', 'Tomato 88 ']100 "]
Code:
def appendA():
with open('alpha.txt', 'r') as file_1:
lines = file_1.readlines()
for line in lines:
if crop in line:
index = lines.index(line)
line = str(line + quantity + ' ')
lines [index] = line
newlines = str(lines)
#The idea here is that the variable quantity is added onto the end
# of the same row as the entered crop in the .txt file.
with open('alpha.txt', 'w') as file_3:
file_3.write (newlines)
def appendB():
with open('alpha.txt', 'a') as file_2:
file_2.write ('\n')
file_2.write (crop + ' ')
file_2.write (quantity + ' ')
crop = input("Which crop? ")
quantity = input("How many? ")
with open('alpha.txt', 'a') as file_0:
if crop in open('alpha.txt').read():
appendA()
else:
appendB()
Können Sie ein „Beispiel rechts Ausgang“ posten und die stattdessen bekommen? – syntonym
Sie müssen die Zeilenumbrüche von Ihrer Eingabe entfernen, während Sie sie einlesen. Dies ist auch nicht der beste Weg, um über eine Textdatei in Python zu iterieren. –
Veröffentlichen Sie keine Screenshots von Text. Das ist dumm. – Tomalak