使用python写入日志文件的建议

时间:2011-05-27 21:16:52

标签: python

我有一些代码需要每10秒写一次大约20个字节的数据。 我在Windows 7上使用python 2.7

你们建议任何“os / hard drive”压力最小的方法吗?

我正在考虑在10秒内打开和关闭同一个文件:

f = open('log_file.txt', 'w')
f.write(information)
f.close()

或者我应该保持开放状态,只是flush()数据而不是经常关闭它?

sqllite怎么样?它是否会提高性能并且不如打开和关闭文件操作那么密集? (它不只是一个平面文件数据库所以==到文本文件反正......?)

mysql怎么样(这使用本地服务器/进程..不确定何时/如何将数据保存到hdd的具体内容)?

我只是担心不会煎炸我的硬盘并提高此日志记录程序的性能。我将每隔10秒钟收到一次新的日志信息,这将全天24小时全天候开放。 你的建议?

ie:想想像utorrent这样需要长时间保存大量数据的程序,(我的日志文件显着少于那些像utorrent这样的“下载程序类型程序”中写入的数据) / p>

import random
import time


def get_data():
    letters = 'isn\'t the code obvious'
    data = ''
    for i in xrange(20):
        data += random.choice(letters)
    return data

while True:
    f = open('log_file.txt', 'w')
    f.write(get_data())
    f.close()
    time.sleep(10)

我的CPU在大约15秒后开始发牢骚......(或者是我的硬盘?)

3 个答案:

答案 0 :(得分:12)

正如预期的那样,python附带了一个很好的工具,看一下logging模块

答案 1 :(得分:4)

不要担心“煎炸”你的硬盘 - 每10秒20个字节只是在操作系统正常运行时写入磁盘的一小部分数据。

答案 2 :(得分:3)

使用日志框架。这正是它的目的。

编辑:球,打败它:)。