Я хочу, чтобы иметь возможность открыть файл, добавить текст в конец, а затем прочитать только первую строку. Я точно знаю, сколько времени занимает первая строка файла, и файл достаточно большой, чтобы я не хотел сразу его считывать в память. Я пробовал использовать:Можете ли вы прочитать первую строку из файла с открытым (fname, 'a +')?
with open('./output files/log.txt', 'a+') as f:
f.write('This is example text')
content = f.readline()
print(content)
, но заявление печати пуста. Когда я пытаюсь использовать open('./output files/log.txt')
или open('./output files/log.txt', 'r+')
вместо open('./output files/log.txt', 'a+')
, это работает, поэтому я знаю, что это связано с аргументом 'a+
. Моя проблема в том, что я должен добавить к файлу. Как я могу добавить в файл и при этом получить первую строку без использования что-то вроде
with open('./output files/log.txt', 'a+') as f_1:
f.write('This is example text')
with open('./output files/log.txt') as f_2:
content = f_2.readline()
print(content)
Вы, вероятно, придется 'seek' обратно в начало перед тем, как читать. – melpomene
Вы пишете контент сначала, потому что возможно, что либо файл пуст, либо не существует? Или это так, что файл всегда существует и имеет контент? – Nicarus
Я знаю, что и файл существует, и что он не пуст. Я не показывал его здесь, но я уже запрограммирован для этих случаев. Извините, я должен был указать – user144153