我有一些代码需要每 10 秒写入大约 20 个字节的数据。 我在 Windows 7 上使用 python 2.7
你们推荐任何“对操作系统/硬盘驱动器压力最小”的方法来做到这一点?
我正在考虑用 10 秒打开和关闭同一个文件:
f = open('log_file.txt', 'w')
f.write(information)
f.close()
或者我应该保持打开状态,只flush()
数据而不是经常关闭它?
sqllite
怎么样?与打开和关闭文件操作相比,它会提高性能并降低强度吗?
(它不只是一个平面文件数据库所以 == 还是文本文件......?)
mysql
怎么样(这使用本地服务器/进程..不确定何时/如何将数据保存到硬盘的具体细节)?
我只是担心不会炸毁我的硬盘驱动器并提高此日志记录程序的性能。我将每 10 秒收到一次新的日志信息,并且每天 24 小时 7 天 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)
我的 CPU 在大约 15 秒后开始发出呜呜声……(或者是我的硬盘?)
最佳答案
正如预期的那样,python 附带了一个很好的工具,看看 logging模块
关于python - 关于使用 python 写入日志文件的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6157781/