#python #python-3.x
#python #python-3.x
Вопрос:
Для следующего кода на Python:
L = ['vanilla', 6, 'chocola', 7]
txt = 'empty.txt'
f = open(txt,'w')
for item in L:
f.write(str(item))
f.close()
f = open('empty.txt','r')
print(f.readlines())
f.close()
Я запустил его на Python, и было напечатано ‘vanilla6chocola7’
Но разве он не должен печатать только ‘7’?
Разве ‘write’ не перезаписывает все в файле?
Комментарии:
1. Нет, это не так. Открытие файла в режиме записи начинается с начала файла, и каждый
write
из них продвигает позицию записи.
Ответ №1:
Чтобы стереть содержимое файла, прежде чем записывать в него что-то еще, используйте .truncate(0)
before .write(...)
.