最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)解析Bit Torrent種子文件內容的方法

 更新時間:2017年08月29日 11:53:29   作者:NickWar  
這篇文章主要介紹了Python實現(xiàn)解析Bit Torrent種子文件內容的方法,結合實例形式分析了Python針對Torrent文件的讀取與解析相關操作技巧與注意事項,需要的朋友可以參考下

本文實例講述了Python實現(xiàn)解析BitTorrent種子文件內容的方法。分享給大家供大家參考,具體如下:

有很多種子文件,有時候記不清里面都是什么東西,又不想一個一個的拖放到迅雷或BT軟件里頭看,

上網查了一下Python的腳本,自己也稍微修改了一下,代碼如下,粘貼到文本編輯器中:

保存成py后綴的,直接運行

import re
def 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 s
def 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 data
def 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 data
if __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程序設計有所幫助。

相關文章

  • python中opencv圖像疊加、圖像融合、按位操作的具體實現(xiàn)

    python中opencv圖像疊加、圖像融合、按位操作的具體實現(xiàn)

    opencv圖像操作可以更好更快的方便我們處理圖片,本文主要介紹了圖像疊加、圖像融合、按位操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Python制作簡易版2048小游戲

    Python制作簡易版2048小游戲

    2048作為經典的手機端游戲一直深受大家的喜愛,本文將利用Python中的Pygame模塊制作簡單版的2048游戲,感興趣的小伙伴可以了解一下
    2022-07-07
  • 教你用Python寫一個京東自動下單搶購腳本

    教你用Python寫一個京東自動下單搶購腳本

    很多朋友都有網購搶購限量商品的經歷,有時候蹲點搶怎么也搶不到,今天小編帶你們學習怎么用Python寫一個京東自動下單搶購腳本,以后再也不用拼手速拼網速啦,快來一起看看吧
    2023-03-03
  • python 實現(xiàn)的IP 存活掃描腳本

    python 實現(xiàn)的IP 存活掃描腳本

    這篇文章主要介紹了python 實現(xiàn)的IP 存活掃描腳本,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • Python圖算法實例分析

    Python圖算法實例分析

    這篇文章主要介紹了Python圖算法,結合實例形式詳細分析了Python數據結構與算法中的圖算法實現(xiàn)技巧,需要的朋友可以參考下
    2016-08-08
  • Python3生成手寫體數字方法

    Python3生成手寫體數字方法

    本篇文章給大家分享習如何Python3生成手寫體數字方法以及實例代碼分享,有興趣的朋友參考下吧。
    2018-01-01
  • Python遠程桌面協(xié)議RDPY安裝使用介紹

    Python遠程桌面協(xié)議RDPY安裝使用介紹

    這篇文章主要介紹了Python遠程桌面協(xié)議RDPY安裝使用介紹,本文講解了RDPY的安裝、RDPY的簡單使用兩部份內容,需要的朋友可以參考下
    2015-04-04
  • Python?安裝教程以及快速入門

    Python?安裝教程以及快速入門

    Python是一種簡單易學的編程語言,適合初學者入門。本文將介紹Python的安裝教程以及快速入門,幫助讀者快速上手Python編程。
    2023-09-09
  • Python+Selenium自動化環(huán)境搭建與操作基礎詳解

    Python+Selenium自動化環(huán)境搭建與操作基礎詳解

    Selenium是如今最常用的自動化測試工具之一,支持快速開發(fā)自動化測試框架,且支持在多種瀏覽器上執(zhí)行測試。本文將介紹關于Selenium?Python自動化腳本環(huán)境搭建的相關資料,需要的朋友可以參考下
    2022-03-03
  • Python數據分析pandas之布爾索引使用詳解

    Python數據分析pandas之布爾索引使用詳解

    這篇文章主要為大家介紹了Python數據分析pandas之布爾索引使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07

最新評論

甘南县| 遵义县| 北碚区| 秭归县| 工布江达县| 辽宁省| 南召县| 民县| 山丹县| 乐平市| 惠安县| 新干县| 双城市| 扎兰屯市| 平遥县| 敖汉旗| 观塘区| 土默特右旗| 双牌县| 涟水县| 永宁县| 革吉县| 楚雄市| 渭源县| 古浪县| 南昌县| 安宁市| 安阳市| 靖边县| 博罗县| 苏尼特右旗| 天津市| 西峡县| 双柏县| 沧州市| 黄石市| 柞水县| 金寨县| 长沙县| 木里| 剑阁县|