0

私はPythonで大きなクラスを持っています。それは「データベースのような」クラスです。ファイルに保存したい - すべてのデータを含む。

これは入力です (問題を示す例、スクリプト データベースでは 10000 レコードのようです):

import cPickle
# DataBase-like class
class DataBase:
    class Arrays: pass
    class Zones: pass
    class Nodes: 
        class CR: pass    
    class Links: 
        class CR: pass
    class Turns:
        class CR: pass    
    class OrigConnectors: pass
    class DestConnectors: pass    
    class Paths: pass
    pass
# some basic input into database
DataBase.Arrays.Data=[]
for i in range(1000):
    DataBase.Arrays.Data.append([i+4]) 

print DataBase.Arrays.Data[56]

# and now I want to save it to file

import cPickle    

filename='D:/results/file.lft'
file=open(filename,'w')
cPickle.dump(DataBase, file, protocol=2)`

そして、それは私が得るファイルです:

€c__main__
DataBase
q.`

データはなく、定義だけです。どうすればそれを克服できますか。私のデータをクラスとして保存するのは良い考えではないでしょうか?

4

1 に答える 1

4

クラス定義である「DataBase」をピクルしています。クラス DataBase のオブジェクトをインスタンス化し、それをピクルする必要があります。

objDataBase = DataBase()
objDataBase.Arrays.Data = etc....

filename='D:/results/file.lft'
file=open(filename,'w')
cPickle.dump(objDataBase, file, protocol=2)
file.close()
于 2010-06-07T17:20:15.940 に答える