2

知っている人への簡単な質問ですが、実際には不可能だと思うので、私にはかなり難しいです。

簡単なPythonプログラムを作成した後、コンピューターのコマンドプロンプトで実行することができます。

私は疑問に思っていました、またはそれをそのように実行する誰かがリストに要素を追加し(list.insert)、次にプログラムが実行されるときにそれをそこに残すことを許可することは可能ですか?(したがって、事前定義されたリストを新しいものに編集しますリストしてそのように保存する)

編集:もう少し情報を与えるだけです:

プログラムがしなければならないのは、リストを選択できるようにすることだけです。このリストからランダムなアイテムを返します。プログラムの実行中にこのリストにアイテムを追加して、後でリストを更新し続けることを許可したいと思っていました。

4

1 に答える 1

6

最も基本的な方法は、Pickleモジュールを使用してデータをディスクに保存およびロードすることです。

http://docs.python.org/2/library/pickle.html

http://docs.python.org/2/library/pickle.html#example

これが私が簡単なプログラムでそれをどのように使うかです

try:
    import cPickle as pickle
except ImportError:
    import pickle

class MyClass(object):

    def __init__(self, file_name):
        self.array = []
        self.file_name = file_name
        self.load_data()

    def add_element(self, element):
        self.array.append(element)
        self.save_data()

    def load_data(self):
        try:
            with open(self.file_name, "r") as f:
                self.array = pickle.load(f)
        except IOError:
            pass

    def save_data(self):
        with open(self.file_name, "w") as f:
            pickle.dump(self.array, f)

def main():
    FILE_NAME = "test.pkl"
    a = MyClass(FILE_NAME)
    print "elements in array are", a.array
    for i in range(5):
        a.add_element(i)

if __name__ == "__main__":
    main()
于 2013-02-25T13:23:41.857 に答える