2015-02-24 4 views
0

Я хочу написать текущий журнал для какой-то памяти или байтового потока. Например, на C# или Java существует объект memystream для выполнения этого. Есть ли способ облегчить запись журнала в память на Python?Как записать журнал в байт или поток памяти в Python?

Вместо этого:

file_handle = open("log.txt", "w") 
# ... 
if (some_error): 
    file_handle.write("event 1:...") 
    file_handle.write("event 2:...") 
    # ... 
file_handle.close() 

Я хочу написать файл регистрации для некоторой структуры в памяти. Что лучше для этого в Python? Объект String? Что-то другое?

спасибо.

+1

Возможно, что-то [здесь] (https://docs.python.org/2/library/logging.handlers.html)? – Malonge

ответ

1

Похоже the StreamHandler class лучше всего описывает то, что вы ищете.

«Класс StreamHandler, расположенный в базовом блоке регистрации, отправляет вывод журнала в потоки, такие как sys.stdout, sys.stderr или любой файл-подобный объект (или, точнее, любой объект, который поддерживает write() и flush()). "

И this HOWTO подробно описывает запись в python.

1

Если вы ищете какой-то строки с файла-подобный интерфейс, то, что вам нужно, это StringIO

Смежные вопросы