У меня books.txt
файл, который содержит названия книг, авторов и цены следующим образом:Как обновить существующий текстовый файл в Python?
The Hunger Games,Suzanne Collins,12.97
The Fault In Our Stars,John Green,11.76
The Notebook,Nicholas Sparks,11.39
Я отсортирован его в список списков, чтобы получить это:
[[The Hunger Games, Suzanne Collins, 12.97], [The Fault In Our Stars, John Green, 11.76], [The Notebook, Nicholas Sparks, 11.39]]
код, который я использовал является:
def booksDatabase():
for line in infile:
line = line.rstrip().split(",")
line[2] = float(line[2])
table.append(line)
infile = open("books.txt")
table = []
booksDatabase()
infile.close()
И я хотел бы, чтобы обновить файл .txt
так, что он содержит текущий список списков. Как мне это сделать без импорта каких-либо библиотек?
Заранее спасибо.
Update: Я попытался сделать это:
def booksDatabase():
for line in infile:
line = line.rstrip().split(",")
line[2] = float(line[2])
table.append(line)
outfile.write(line)
infile = open("books.txt")
outfile = open("books.txt", 'w')
table = []
booksDatabase()
infile.close()
Но я получил эту ошибку:
outfile.write(line)
TypeError: write() argument must be str, not list
Что я делаю неправильно?
Вы пытались открыть файл в режиме записи/добавления вместо режима чтения? –
Нет, не знаю. Не могли бы вы объяснить, что вы имеете в виду? Я новичок в Python. – Raux
Предложите вам прочитать следующее: https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files – cdarke