Я обновлял текстовый файл с python (3.6), с открытым r +
with open(f+'.play', 'r+') as f2:
play = f2.read()
result = manipulate(play)
print(result)
f2.seek(0, 0)
f2.write(result)
, делая это, я получаю неожиданную дополнительную конечную часть
</soap:Envelope>ap:Envelope>
из Конечно, дополнительная часть после первого закрытия>
Я исправил это, выполнив
with open(f+'.play', 'r+') as f2:
play = f2.read()
result = manipulate(play)
print(result)
f2.seek(0, 0)
f2.truncate()
f2.write(result)
, в этом случае запись работает, как я ожидаю.
Тем не менее, я не Понимаю, почему мне нужно усечь, не достаточно ли искать (0,0)? потому что, по моему мнению, seek (0) + write должен перезаписывать все содержимое надлежащим образом, какие знания мне здесь не хватает?