本文實例講述了Python實現解析BitTorrent種子文件內容的方法。分享給大家供大家參考,具體如下:
有很多種子文件,有時候記不清里面都是什么東西,又不想一個一個的拖放到迅雷或BT軟件里頭看,
上網查了一下Python的腳本,自己也稍微修改了一下,代碼如下,粘貼到文本編輯器中:
保存成py后綴的,直接運行
import redef tokenize(text, match=re.compile("([idel])|(/d+):|(-?/d+)").match): i = 0 while i < len(text): m = match(text, i) s = m.group(m.lastindex) i = m.end() if m.lastindex == 2: yield "s" yield text[i:i+int(s)] i = i + int(s) else: yield sdef decode_item(next, token): if token == "i": # integer: "i" value "e" data = int(next()) if next() != "e": raise ValueError elif token == "s": # string: "s" value (virtual tokens) data = next() elif token == "l" or token == "d": # Container: "l" (or "d") values "e" data = [] tok = next() while tok != "e": data.append(decode_item(next, tok)) tok = next() if token == "d": data = dict(zip(data[0::2], data[1::2])) else: raise ValueError return datadef decode(text): try: src = tokenize(text) data = decode_item(src.next, src.next()) for token in src: # look for more tokens raise SyntaxError("trailing junk") except (AttributeError, ValueError, StopIteration): raise SyntaxError("syntax error") return dataif __name__ == "__main__":#需要讀取的文件名稱放到這里 data = open("The_Shawshank_Redemption.torrent", "rb").read() torrent = decode(data) myfile = file("testit.txt", 'w') a = u'文件名稱'.encode('gbk') b = u'文件大小'.encode('gbk') print "%s /t %s /n" % (a,b) for file in torrent["info"]["files"]: print "%s /t %d Mb " % ("/".join(file["path"]), file["length"]/1024/1024) print "-----------------------------------------------------------------"
注意要保存成Utf-8格式的文件,不能使用ASCII編碼格式保存,否則中文會亂碼或無法編譯
PS:這里再為大家推薦一款相關的在線工具供大家參考使用:
在線BT種子torrent/磁性鏈接在線轉換工具:
http://tools.jb51.net/aideddesign/bt2mag
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python URL操作技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python編碼操作技巧總結》
希望本文所述對大家Python程序設計有所幫助。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
手機UC可以看的電影網站?用uc瀏覽器看電影的步驟如下:1.首先雙擊電腦上的UC瀏覽器打開。2、進入主頁面,點擊左側視頻。3.打開電影后,我們可以在搜索框中搜索想要觀看的電影名稱。這里我們以尋找鋼鐵俠2為例。4.搜索后,主頁面左側有一個可播放的視頻網站。下面是視頻。點擊觀看。這就解決了用uc瀏覽器看電影的問題。uc手機瀏覽器搜索引擎是多少?uc瀏覽器的默認搜索引擎是 "神馬搜索 ",可以設置。瀏覽...
內存2133和3600玩游戲差距大嗎?游戲,差距很小。這個差距需要根據你平時如何使用電腦,再看內存顆粒的好壞,然后需要考慮其他配件的影響??偟膩碚f,同樣的內存粒子,內存大概可以這樣分層,2133以下是低檔,3200以下是中檔,3200以上是高檔。如果你是游戲玩家,2133-3600之間的內存對大部分游戲影響不大,最大相差2%。只有少數會達到6%-8%的差距。如果你是辦公室黨,內存頻率的影響幾乎可以...
idx文件是什么?IDX是所有的字幕文件。如果您將它們解壓縮到與電影相同的目錄中,則可以使用某些播放器(如storm video)自動讀取字幕。具體來說,流行的字幕格式分為圖形格式和文本格式。圖形字幕由IDX和子文件組成。IDX是索引文件,包括字幕出現的時間和字幕顯示的屬性。子文件是字幕文件。文本格式字幕的擴展是SRT、SMI、SSA或sub,其中SRT字幕最為流行,制作方法是一次編碼加一個字幕。...