2016-08-09 6 views
-2

私はまだPythonを学んでおり、現在API(人工的な補助人物、SiriやCortanaなど)を開発中です。私は、入力によってコードを更新する方法があるのだろうかと思っていました。たとえば、私がリストを持っていれば、プログラムの実行が終了した後でも、新しいアイテムを永久に追加することは可能です。Pythonコードを入力によって永久に変更できますか?

私は、あなたがSQLiteを使用しなければならないと読んだ、それは本当ですか?他の方法はありますか?

+1

これはXYの問題です。コードを変更したくない場合は、プログラムを実行する間にデータを保持する方法を探しています。 –

答えて

0

データを永続化する方法があります。

  • ファイル(JSON、DBM、ピクルス)
  • のNoSQLデータベース(Redisの、MongoDBは、など)
  • SQLデータベース: それは環境など ただ、カップルの例には、タスクに依存します(サーバーレスとクライアントサーバーの両方:sqlite、MySQL、PostgreSQLなど)

最も単純で基本的な方法は、ファイルを使用することです。 透過的に行うことができるモジュールもあります。 あなたはいつものようにデータを扱うだけです。

たとえば、shelveを参照してください。ドキュメントから

A「の棚には」永続的な、辞書のようなオブジェクトです。 "dbm"データベースとの違いは、シェルフ内の値(キーではありません)は と基本的に任意のPythonオブジェクト(ピクルモジュール が処理できるもの)です。これには、ほとんどのクラスインスタンス、再帰的データ型、 、および多くの共有サブオブジェクトを含むオブジェクトが含まれます。キーは普通の文字列 です。

使い方の例:それは普通の辞書あったよう

import shelve 

s = shelve.open('test_shelf.db') 
try: 
    s['key1'] = { 'int': 10, 'float':9.5, 'string':'Sample data' } 
finally: 
    s.close() 

あなたは、単に通常sで動作します。 これは自動的にディスクに保存されます(この場合はファイルtest_shelf.db)。

この場合、辞書は永続的な であり、プログラムの再起動後に値が失われることはありません。その上

より:

別のオプションは、あなたも を永続与える、ピクルスを使用することではなく、魔法:あなたは、データの読み書きが必要になります自分で。shelvepickle

比較:

1

こんにちはJ貰える

私は何がやりたいことは、ファイル(例:への入力データを保存していると思います。 txtファイル)。 以下のリンクを参照すると、テキストファイルの読み書き方法が表示されます。

How to read and write to text file in Python

関連する問題