Использование subprocess.call - при наличии ошибки сохраните ошибку в файл - PullRequest
0 голосов
/ 14 декабря 2011

Я пытаюсь сохранить все ошибки в файле и не могу найти решение.Я слишком новичок в Python, пожалуйста, терпение: D

В "для" у меня есть эта строка, и работает нормально, но не могу регистрировать ошибки.

knull = open(os.devnull, 'w')
kerror = open('/tmp/error.log','wb')

proc = subprocess.call(['7z','a', file-Zip, files],stdout = knull, stderr = kerror.write())
kerror.close()
knull.close()

ЕстьЯ что-то добавить в kerror.write (ЗДЕСЬ), но я не знаю, что.Или, может быть, я делаю это в неправильном направлении.

Спасибо !!!

1 Ответ

0 голосов
/ 14 декабря 2011

Во-первых, вы должны использовать режим «+» для добавления новых сообщений в существующий файл, а «w» перезапишет его.

Во-вторых, сообщения об ошибках являются текстовыми сообщениями, поэтому вы не должны использовать режим "b" (что означает двоичный файл).

К вашему сведению, вы можете использовать удобный модуль logging, который лучше всего подходит для задач, связанных с журналированием:)

...