簡體   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