[英]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.