ZER0x32
@ZER0x32
кратко обо мне = ""

Файл не читается через file.read()?

вот код:
with  open ('C:/Users/abraham/Desktop/'+str(35657)+'.txt','w+') as f:
        text=f.read()+'\n'+str(input())
        print(str(text) + str(type(text)))
        f.write(text)

но после каждого чтения файла для последующей добавки введеного текста ,я получаю ничего , и мой файл составляет только "'\n'+str(input())" .ошибок никаких не выдает
  • Вопрос задан
  • 42 просмотра
Решения вопроса 1
SoreMix
@SoreMix
yellow
Потому что весь контент файла удаляется, ибо флаг w+
w+ не дает возможность читать файл изначально. Открытие файла с таким флагом создаст его, если файл еще не существует, либо перезапишет его, если файл уже есть изначально.

Для чтения доступен только тот контент, который будет записан уже после открытия файла. Например, так

with open('test.txt','w+') as f:
    f.write('New content')
    f.seek(0)
    text=f.read()
    print(text)
# New content


А, ну и забыл добавить, если нужно просо записать в файл новый контент, при этом сохранив старый - нужно использовать специальный режим a (append)

# test.txt
# Old line
#

with open('test.txt','a') as f:
    f.write('New line')

with open('test.txt', 'r') as f:
    print(f.read())
# Old line
# New line
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
08 мар. 2021, в 10:02
75000 руб./за проект
08 мар. 2021, в 10:00
700 руб./за проект
08 мар. 2021, в 08:37
3000 руб./за проект