Как вывести в txt (программирование в Python с обработкой 3) - PullRequest
2 голосов
/ 29 мая 2020

Я сейчас работаю над проектом, и часть проекта состоит в том, чтобы вывести что-то в каталог проекта в отдельном файле .txt, я выполнил это, но у меня проблема, все работает ОТЛИЧНО, но Я не хочу каждый раз создавать новый файл, но я хочу, чтобы все и все записи хранились только в одном файле и чтобы они просто продолжали добавлять , может ли кто-нибудь мне помочь?

Вот часть кода, который я придумал, не беспокойтесь о "% d" et c. Мне просто нужна помощь с выводом:

output = createWriter("rekordi.txt")
            output.print("Tvoj zadnji rekord je " + str(millis()/1000-sekunde) + " sekund || ob " + str(datum.strftime("%I:" + "%M" + " %p" + " na " + "%d." + "%b"))) # Write the date to the file
            output.flush()# Writes the remaining data to the file
            output.close()# Finishes the file

Ответы [ 2 ]

1 голос
/ 29 мая 2020

Что вы хотите сделать, так это открыть файл в режиме append. Это создаст его, если он не существует, и добавит к нему вместо перезаписи, если он уже существует. Что-то вроде этого должно делать то, что вы хотите:

my_file_path = 'output_record.txt'
with open(my_file_path, 'a') as outfile:
    outfile.write(<output data here in string format> + '\n') # \n for newline

with ... - это блок диспетчера контекста, что означает, что файл будет автоматически закрыт при выходе из этого блока кода. А второй аргумент 'a' для open указывает режим append.

Надеюсь, что это поможет, счастливого кодирования (и счастливой пятницы)!

1 голос
/ 29 мая 2020
with open("rekordi.txt", "a", buffering=0) as f:
      f.write("write some data") 

файловый режим "a" добавит все данные в файл.
buffering = 0 означает, что данные будут записаны непосредственно в файл (как при использовании flu sh ())

...