Используя Python, я хотел бы заменить одну строку текстового файла на основе его позиции, не загружая весь файл в память (например, используя метод readlines).
Я пытался написать код, который использует цикл for для вычисления позиции, с которой следует начать запись новой строки, но заканчивается перезаписью и следующих строк.
Для ясности, вот код, который работает с использованием строк чтения:
р>
def write_a_line(line:int, val:str):
with open("myfile.txt", "r+") as f:
mylist = f.readlines()
mylist[line-1] = f"{val}\n"
f.seek(0)
f.writelines(mylist)
Вместо этого не работает:
def write_a_line_2(line:int,val:str):
with open("myfile.txt", "r+") as f:
count = 0
for i in range(line):
count += len(f.readline())
f.seek(count)
f.write(f"{val}\n")
Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-memory
Замените одну строку файла в Python, не загружая весь файл в память. ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как получить доступ ко всему массиву Zarr, не загружая весь массив в память?
Anonymous » » в форуме Python - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-