2012-08-10 8 views
0

파이썬에서 bdecode 라이브러리를 사용하여 bencode 형식을 디코딩하려고합니다. 내 파이썬 폴더에서뿐만 아니라 bcode 라이브러리를 가져 왔습니다. 라이브러리에 정의 된 bdecode 함수를 사용하려고합니다. 오류가 발생합니다.파이썬에서 bdecode 라이브러리가 작동하지 않습니다.

    File "C:\Python27\fit.py", line 21, in <module> 
       decoded = bdecode(data) 
       NameError: name 'bdecode' is not defined 

왜이 오류가 발생하는지 알기 위해 저는 방금 Python을 처음 사용 했습니까? 이것이 bcode 라이브러리 때문이라면 누구든지 다른 bcode 라이브러리에 대한 링크를 제출할 수 있습니까?

from bcode import bdecode 
import urllib, urlparse, string 

아니면 함수를 호출하는 줄을 다음과 같이 변경합니다

내가 당신은이 두 가지 방법 중 하나를 해결 가져 오기 문을 변경할 수 있습니다

   import bcode, urllib, urlparse, string 
      url = "http://update.utorrent.com/installoffer.php?" 
      url = url + "offer=conduit" 

      filename = "out_py.txt" 
      urllib.urlretrieve(url,filename) 

      with open ("out_py.txt", "r") as myfile: 
      data=myfile.readlines() 

      decoded = bdecode(data) 
+0

.py 파일 전체입니까? 특히 어떤 명령문을 사용하여 bdecode 함수를 임포트합니까? –

+0

코드를 업데이트했습니다 .. – amateur

답변

1

을 시도하고 코드입니다 :

문제는 bcode 모듈을 가져 오는 동안 ymbols를 로컬 네임 스페이스에 추가합니다.

+0

변경되었습니다 .. 지금이 오류가 발생합니다. – amateur

+0

파일 "C : \ Python27 \ fit.py", 줄 21, 디코딩 = bcode.bdecode (데이터) 파일 "C : \ Python27 \ Lib \ idlelib \ bcode.py"파일 155, bdecode 입력 : input.strip() AttributeError : 'list'객체에 'strip'속성이 없습니다. – amateur

+1

'data = file_handle.read()'사용 –

관련 문제