全网整合营销服务商

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

免费咨询热线: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文件相关知识学习  # 操作技巧  # 都是  # 相关内容  # 有很多  # 感兴趣  # 数据结构  # 给大家  # 记不清  # 又不  # 什么东西  # 更多关于  # 所述  # 程序设计  # 使用技巧  # 文本文件  # 拖放  # 转换工具  # 再为  # 器中  # 讲述了 


相关文章: 免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  如何在万网自助建站平台快速创建网站?  广州美橙建站如何快速搭建多端合一网站?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  ,柠檬视频怎样兑换vip?  如何通过FTP空间快速搭建安全高效网站?  如何快速搭建支持数据库操作的智能建站平台?  香港服务器选型指南:免备案配置与高效建站方案解析  如何通过虚拟主机空间快速建站?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  C++如何编写函数模板?(泛型编程入门)  如何在搬瓦工VPS快速搭建网站?  Thinkphp 中 distinct 的用法解析  制作营销网站公司,淘特是干什么用的?  如何自定义建站之星模板颜色并下载新样式?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  黑客如何通过漏洞一步步攻陷网站服务器?  七夕网站制作视频,七夕大促活动怎么报名?  如何快速查询网站的真实建站时间?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  湖北网站制作公司有哪些,湖北清能集团官网?  5种Android数据存储方式汇总  官网网站制作腾讯审核要多久,联想路由器newifi官网  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  如何在橙子建站上传落地页?操作指南详解  如何用VPS主机快速搭建个人网站?  音响网站制作视频教程,隆霸音响官方网站?  网站制作企业,网站的banner和导航栏是指什么?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  网站网页制作专业公司,怎样制作自己的网页?  如何快速搭建个人网站并优化SEO?  建站之星CMS五站合一模板配置与SEO优化指南  音乐网站服务器如何优化API响应速度?  建站之星下载版如何获取与安装?  建站之星代理商如何保障技术支持与售后服务?  c# 在ASP.NET Core中管理和取消后台任务  如何在Windows 2008云服务器安全搭建网站?  宝塔面板创建网站无法访问?如何快速排查修复?  建站之星安装后界面空白如何解决?  高端建站三要素:定制模板、企业官网与响应式设计优化  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  如何快速搭建高效服务器建站系统?  TestNG的testng.xml配置文件怎么写  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  如何制作一个表白网站视频,关于勇敢表白的小标题?  如何选择高性价比服务器搭建个人网站?  如何用搬瓦工VPS快速搭建个人网站? 

您的项目需求

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