繁体   English   中英

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

[英]Advice on writing to a log file with python

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

你们推荐任何“对操作系统/硬盘驱动器压力最小”的方式来做到这一点?

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

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

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

那么sqllite呢? 它会比打开和关闭文件操作提高性能并减少密集度吗? (它不只是一个平面文件数据库,所以 == 还是文本文件......?)

mysql怎么样(这使用本地服务器/进程..不确定何时/如何将数据保存到硬盘的细节)?

我只是担心不炸我的硬盘并提高此日志记录过程的性能。 我将每 10 秒收到一次新的日志信息,这将每天 24 小时 24 小时不间断地进行。 你的建议?

即:想想像 utorrent 这样的程序,它们需要在很长一段时间内持续保存大量数据,(我的日志文件的数据明显少于那些在诸如 utorrent 这样的“下载器类型程序”中写入的数据)

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)

大约 15 秒后我的 CPU 开始发出呜呜声……(或者那是我的硬盘?)

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

不必担心“煎炸”您的硬盘驱动器 - 每 10 秒 20 个字节只是操作系统正常操作中写入磁盘的数据的一小部分。

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

编辑:球,被打败了:)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM