Метод 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()вызывается автоматически

Другие вопросы по тегам