Я пытаюсь заставить свою программу записать поверх простого файла config.txt.
Что на самом деле работает: оно записывает новый контент поверх старого, если выполняется одно условие, и переходит к следующему блоку.
Однако, когда следующий блок вызывает другую функцию моей программы, содержимое файла просто исчезает: файл .txt становится пустым.
Я искал похожие проблемы, но не смог найти ни одной записи.
Я посмотрел в:
Как искать и заменять текст в файле с помощью Python?
Поиск и замена строки в файле в Python
И заставил некоторых из них работать, но всегда сталкивался с проблемой выше.
Пожалуйста, будьте осторожны, так как я новичок, и это моя первая программа "не Hello_world" и мой первый пост. Спасибо:)
>>> Содержимое файла config.txt по умолчанию: 'runcount = 0'
def alias(confirmation):
###First block###
if confirmation.lower()=='yes':
print("...")
config=open('config.txt','r')
data=config.read()
config.close()
newdata=data.replace('runcount=0','runcount=1')
config=open('config.txt','w')
config.write(newdata)
config.close()
confirmation2=input()
>>> Содержимое файла config.txt теперь 'runcount = 1'
###Second block###
if confirmation2.lower()=='yes':
print("...")
return main()
else:
...
>>> Функция main () вызывается ... Однако файл config.txt теперь пуст
Я решил показать вам этот код, потому что я думаю, что он наиболее читаемый.
Я попробовал метод «с», который дает мне те же результаты.
Я также попытался записать в новый файл, удалить по умолчанию и переименовать новый в config.txt ... та же проблема.
Я не понимаю, почему файл становится пустым, когда я закрыл его.
Нет сообщений об ошибках, моя программа просто запускается, но файл пуст.
Обратите внимание, что я использовал open (config.txt, 'r') в другой функции моей программы, но только один раз.