Метод open() не открывает указанный файл .txt
Я сделал файл, в котором я могу ссылаться на функции, и я подумал, что было бы забавно сделать программу для добавления текста в файл, и когда я пытаюсь открыть файл, он не показывает никаких ошибок, но когда я иду и проверьте файл там ничего нет. Мой код:
ime_funk = input("Ime funkcije: ")
x = 0
funk = ""
while True:
vseb_funk = input("Kopiraj eno, pa po eno vrstico funkcije, ko si končal napiši končano: ")
if vseb_funk == "končano":
break
else:
funk += "\n "+vseb_funk
mark = open("test.txt", "a")
mark.write("\n" + ime_funk + "\n" + funk)
Не обращайте внимания на имена переменных и строки, так как это не важно. Также я использую повтор, если это важно. Я понятия не имею, почему это не работает. я пытался
mark = open("test.txt", "w")
но та же история.
2 ответа
вам нужно добавить эту строку в свой код
mark.close()
или что вы можете сделать, я заменяю эту часть кода
mark = open("test.txt", "a")
mark.write("\n" + ime_funk + "\n" + funk)
с этим кодом:
with open("test.txt", "a") as mark:
mark.write("\n" + ime_funk + "\n" + funk)
Запись файла в python не происходит, пока вы не позвоните
file.flush()
. Обычно это вызывается автоматически, когда вы закрываете файл, но в вашем примере вы никогда не закрываете файл. Пытаться:
ime_funk = input("Ime funkcije: ")
x = 0
funk = ""
while True:
vseb_funk = input("Kopiraj eno, pa po eno vrstico funkcije, ko si končal napiši končano: ")
if vseb_funk == "končano":
break
else:
funk += "\n "+vseb_funk
mark = open("test.txt", "a")
mark.write("\n" + ime_funk + "\n" + funk)
mark.close()
а еще лучше попробовать использовать
with
утверждение:
with open("test.txt", "a") as mark:
mark.write("\n" + ime_funk + "\n" + funk)
Сюда
close()
вызывается автоматически