Добавить новую строку в заголовок файла журнала, используя Python - PullRequest
2 голосов
/ 26 января 2012

Я пытаюсь добавить новую строку перед отметкой даты в файле журнала. У меня есть следующие части.

Открыть файл журнала:

f = open("C:\Users\user\Desktop\Log.file")

Добавить новую строку перед датой «25/01/2012» (однозначно определяет каждую строку журнала).

f.write("\n" + "25/01/2012")

Ошибка:

Traceback (most recent call last): 
File "<pyshell#4>", line 1, in <module>
    f.write('\n' + "25/01/2012")
IOError: File not open for writing

Ответы [ 4 ]

6 голосов
/ 26 января 2012

Как показано в документации по Python для open () , режимом по умолчанию является «r» для чтения, а не «w» для записи. Попробуйте использовать:

f = open("C:\Users\user\Desktop\Log.file", 'a')

чтобы открыть файл журнала для записи (и не стирать его, если он уже существует)

Что касается вашей конечной цели - регистрации файлов, вы взглянули на модуль ведения журнала , который позволит вам отформатировать все записи журнала с указанием даты, уровня, PID и многих полезных вещей?

2 голосов
/ 26 января 2012
f = open("C:\Users\user\Desktop\Log.file","w");

по умолчанию подразумевается 'r', т.е. читается документы здесь

Примечание: 'w' перезапишет существующий файл. Используйте 'a' для добавления

1 голос
/ 26 января 2012
open("C:\Users\user\Desktop\Log.file", "w")

Но, пожалуйста, обратите внимание на http://docs.python.org/library/logging.html для регистрации в Python.

Редактировать: Еще лучше: http://docs.python.org/howto/logging.html#logging-basic-tutorial

0 голосов
/ 26 января 2012

Вам нужно f = open("C:\Users\user\Desktop\Log.file", "w")

http://docs.python.org/tutorial/inputoutput.html#reading-and-writing-files

Надеюсь, это поможет.

...