0

Pythonプログラムのアプリケーション固有のパラメーター(永続データ)を保存するための好ましい方法は何ですか?

Pythonプログラムを作成しています。このプログラムには、「project_name」、「start_year」、「max_value」、...などのパラメーターを格納する必要があります。

これらのデータを保存するのに最適な方法がわかりません(計算やレポートを作成するときに再利用する必要があります):ローカルTXTファイルを使用し、非常に単純なDBを使用します(Pythonに存在しますか?SQLiteを使用しますか? ?)、..。

事前にどうもありがとうございました。

4

4 に答える 4

0

SQLite。セットアップは非常に簡単で、多くの組み込みdb関数を利用できます。また、ファイルの読み取り/書き込みと解析を処理する必要もありません。

于 2012-06-03T06:30:33.357 に答える
0

pickleそれ:

import pickle

options = {
  'project_name': 'foo',
  'start_year': 2000
}

with open('config.pickle', 'wb') as config:
  pickle.dump(options, config)

このpickleモジュールを使用すると、ほとんどのPythonオブジェクトをファイルにダンプして、再度読み取ることができます。

于 2012-06-03T06:30:39.440 に答える
0

shelveライブラリを使用できます。棚のドキュメントから:

「シェルフ」は永続的な辞書のようなオブジェクトです。dbm データベースとの違いは、シェルフ内の値 (キーではありません!) は、本質的に任意の Python オブジェクト ("pickle" モジュールが処理できるものなら何でも) にできることです。

import shelve
d = shelve.open(filename) # open, with (g)dbm filename -- no suffix
d[key] = data   # store data at key (overwrites old data if
                # using an existing key)
data = d[key]   # retrieve a COPY of the data at key (raise
                # KeyError if no such key) -- NOTE that this
                # access returns a *copy* of the entry!
del d[key]      # delete data stored at key (raises KeyError
                # if no such key)
flag = d.has_key(key)   # true if the key exists; same as "key in d"
list = d.keys() # a list of all existing keys (slow!)
d.close()
于 2012-06-03T06:51:35.830 に答える
0

スキームが固定されている場合、sqlite3 のように sqldb が最適であり、さらにキャッシュとして memcached が使用されます。関係が頻繁に変わる場合は、柔軟なデータがファイルに保存される可能性があると思います(ハッシュインデックス)。

于 2012-06-03T07:03:34.767 に答える