2017-12-13 5 views
0

このTypeErrorはオブジェクトのシリアライズだけから取得しています。関連するファイルIOはありません(他の類似の投稿とは異なります)。Pickle(ファイルIOなし):TypeError: 'str'ではなくバイトのようなオブジェクトが必要です

for itr in range(numiters): 
    #Sample from proposal distribution 
    d_star,Jratio,R_star,step = proposal(d_t,R_t,X,Y,alpha) 
    #Compute the new posterior value, if necessary 
    a_star = Pickle.dumps(d_star[:R_star+1]) 
    print(type(a_star)) 
    permsdic[a_star] = ... 

別である:コードの一枚であるの印刷文の出力 d_t = Pickle.loads(PERM):

for perm in permsdic.keys(): 
    print(type(perm)) 
    print(perm) 
    d_t = Pickle.loads(perm) 

、まだ私は上記のエラーを取得します最初のブロックは、次のとおりです。

クラスは

「をバイト」と、まだ第二ブロックで、それは何らかの形である:

クラスのstr 'は

B '\ X80 \ X03] q個の\ X00(K \ x01K \ x03K \ x05K \ x0cKの\ x00e。' これは、Python 3.6である

は(私が適応しようとしています古いPythonライブラリ)

答えて

0

は、私はそれは、次の作品、つまり、evalの()関数を使用して動作させることができた

for perm in permsdic.keys(): 
    print(type(perm)) 
    print(perm) 
    d_t = Pickle.loads(eval(perm)) 
これが必要な理由私はまだ理解していない

...

関連する問題