IronPython でダンプされたピクルを Python でロードするのに苦労しています。
IronPython で "[1,2,3]" のような基本的なものをピクルすると、ピクルは Python で正常に読み込まれます。しかし、IronPython で以下の DB クエリの結果をピクルすると、Python でピクルをロードしようとすると、「clr という名前のモジュールがありません」というエラーが表示されます。
何がうまくいかないのですか?(そして、Python と IronPython の間でデータを共有するためのより良い方法はありますか?)
def GetData(id):
TheConnection = SqlClient.SqlConnection("server=MyServer;database=MyDB;Trusted_Connection=yes")
TheConnection.Open()
sqlcommand = "MyStoredProcedure#GetMyData '%s'" %id
MyAction = SqlClient.SqlCommand(sqlcommand, TheConnection)
MyReader = MyAction.ExecuteReader()
results = list()
while MyReader.Read():
row = {
'Type':'LolCat',
'Date':datetime.datetime(MyReader[1]),
'Location':str(MyReader[3]),
'Weight':float(MyReader[6])/float(MyReader[7]),
}
results.append(row)
TheConnection.Close()
MyReader.Close()
return results
results1 = GetData(1234)
results2 = GetData(2345)
...
picklefile= open("testpickle","w")
cPickle.dump((results1,results2),picklefile)
...
picklefile = open("testpickle","r")
p = cPickle.load(file) # this is the line that gives the error "ImportError: No module named clr"