importsys,os,hashlibimportbencode
defmain():#Opentorrentfiletorrent_file=open(sys.argv[1],rb)metainfo=bencode.bdecode(torrent_file.read())info=metainfo['info']print(hashlib.sha1(bencode.bencode(info)).hexdigest())
if__name__==__main__:main()
同样的代码,python2可以通过,python3报错。报错的信息如下:
Traceback(mostrecentcalllast):Filetesttr.txt,line14,inmodulemain()Filetesttr.txt,line9,inmainmetainfo=bencode.bdecode(torrent_file.read())Filed:\python37\Lib\site-packages\bencode.py,line68,inbdecodeBTL.BTFailure:notavalidbencodedstring
如何解决? |