2017-12-13 3 views
0

이 TypeError를 객체 직렬화에서만 가져옵니다. 관련된 파일이 없습니다 (다른 유사한 게시물과 달리).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 (파마) :

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

아직 내가 위의 오류 첫 번째 블록은 다음과 같습니다

:

클래스는 어떻게 든 2 블록에 아직

와 '바이트'개

클래스 'STR'

B '\ X80 \ X03] Q의 \의 x00에서 (K \ x01K \ x03K \ x05K \ x0cK \의 x00e.'이 파이썬 3.6에

는 (나는 적응하려고 오래된 파이썬 라이브러리)

답변

0

는 나는 다음과 같은 작품 즉, 평가() 함수를 사용하여 작동하게 할 수 있었다

for perm in permsdic.keys(): 
    print(type(perm)) 
    print(perm) 
    d_t = Pickle.loads(eval(perm)) 
이 필요한 이유 난 아직도 이해가 안

...

관련 문제