全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Python实现解析Bit Torrent种子文件内容的方法

本文实例讲述了Python实现解析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./aideddesign/bt2mag

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python URL操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python编码操作技巧总结》

希望本文所述对大家Python程序设计有所帮助。


# Python  # 解析  # Bit  # Torrent  # 种子文件  # linux平台使用Python制作BT种子并获取BT种子信息的方法  # 使用Python实现BT种子和磁力链接的相互转换  # Python开发实例分享bt种子爬虫程序和种子解析  # python通过urllib2爬网页上种子下载示例  # Python 解析XML文件  # Python解析nginx日志文件  # Python配置文件解析模块ConfigParser使用实例  # Python解析excel文件存入sqlite数据库的方法  # Python解析json文件相关知识学习  # 操作技巧  # 都是  # 相关内容  # 有很多  # 感兴趣  # 数据结构  # 给大家  # 记不清  # 又不  # 什么东西  # 更多关于  # 所述  # 程序设计  # 使用技巧  # 文本文件  # 拖放  # 转换工具  # 再为  # 器中  # 讲述了 


相关文章: 深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  如何批量查询域名的建站时间记录?  建站主机是什么?如何选择适合的建站主机?  济南企业网站制作公司,济南社保单位网上缴费步骤?  如何快速生成凡客建站的专业级图册?  如何制作网站标识牌,动态网站如何制作(教程)?  建站之星后台密码遗忘或太弱?如何重置与强化?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  ,石家庄四十八中学官网?  高防服务器:AI智能防御DDoS攻击与数据安全保障  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  想学网站制作怎么学,建立一个网站要花费多少?  ,sp开头的版面叫什么?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  如何选购建站域名与空间?自助平台全解析  哈尔滨网站建设策划,哈尔滨电工证查询网站?  网站制作需要会哪些技术,建立一个网站要花费多少?  如何自定义建站之星网站的导航菜单样式?  山东云建站价格为何差异显著?  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  网站微信制作软件,如何制作微信链接?  太平洋网站制作公司,网络用语太平洋是什么意思?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  平台云上自主建站:模板化设计与智能工具打造高效网站  如何快速选择适合个人网站的云服务器配置?  独立制作一个网站多少钱,建立网站需要花多少钱?  如何选择建站程序?包含哪些必备功能与类型?  *服务器网站为何频现安全漏洞?  宝华建站服务条款解析:五站合一功能与SEO优化设置指南  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  建站主机默认首页配置指南:核心功能与访问路径优化  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  建站主机SSH密钥生成步骤及常见问题解答?  整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?  如何快速搭建高效WAP手机网站?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  兔展官网 在线制作,怎样制作微信请帖?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  如何用腾讯建站主机快速创建免费网站?  网站制作公司排行榜,抖音怎样做个人官方网站  定制建站如何定义?其核心优势是什么?  再谈Python中的字符串与字符编码(推荐)  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  宝塔新建站点报错如何解决?  如何彻底卸载建站之星软件? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。