linux平台使用Python制作BT种子并获取BT种子信息的方法


Posted in Python onJanuary 20, 2017

本文实例讲述了linux平台使用Python制作BT种子并获取BT种子信息的方法。分享给大家供大家参考,具体如下:

最近研究了一下linux BT服务器环境的搭建,需要在linux下制作BT种子并获取BT种子信息,整理了一下这个过程:

制作BT种子软件本站下载地址

安装:

[root@localhost src]# tar zxf mktorrent-1.0.tar.gz
[root@localhost src]# cd mktorrent-1.0
[root@localhost mktorrent-1.0]# make
[root@localhost mktorrent-1.0]# make install
[root@localhost ~]# which mktorrent
/usr/local/bin/mktorrent

需要python的bencode模块来获取BT种子信息,下载地址: https://pypi.python.org/packages/source/b/bencode/bencode-1.0.tar.gz。

安装:

#tar -zxf bencode-1.0.tar.gz
#cd bencode-1.0.tar.gz
#python setup.py install

制作和验证的python脚本如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os, re, time, sys
import hashlib, bencode
file_name = 'bt_test.exe'
bt_source = '/data/updir/%s' % file_name
bt_name = '/data/source/%s.torrent' % file_name
if os.path.exists(bt_name):
  os.remove(bt_name)
if os.path.exists(bt_source):
  conm = "/usr/local/bin/mktorrent -v -p -l 18 -a http://bt1.text.cn/announce -a http://bt2.text.cn/announce -o %s %s" % (bt_name,bt_source)
  res = os.popen(conm).readlines()[-1].strip()
  if 'done' in res:
    bt_path = {}
    bt_file = open(bt_name, 'rb')
    bt_info = bencode.bdecode(bt_file.read()).get('info')
    bt_info_hash_hex = hashlib.sha1(bencode.bencode(bt_info)).hexdigest()
    if os.path.isdir(bt_source):
      bt_file_size = 0
      for length in bt_info.get('files'):
        bt_file_size = bt_file_size + int(length['length'])
        bt_path['/'.join(length['path'])] = length['length']
    else:
      bt_file_size = bt_info.get('length')
      bt_file_name = bt_info.get('name')
      bt_path[bt_file_name]=bt_file_size
    bt_file.close()
    print bt_path
    print "Create torrent success"
  else:
    print "Create torrent Error"
    sys.exit()
else:
  print "This source not find"
  sys.exit()

file_name为做种的文件或目录名字。

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

Python 相关文章推荐
如何在Python函数执行前后增加额外的行为
Oct 20 Python
浅谈flask中的before_request与after_request
Jan 20 Python
python使用PIL给图片添加文字生成海报示例
Aug 17 Python
python 自定义异常和异常捕捉的方法
Oct 18 Python
Python设计模式之观察者模式原理与用法详解
Jan 16 Python
Python字符串逆序的实现方法【一题多解】
Feb 18 Python
python导入pandas具体步骤方法
Jun 23 Python
Pytoch之torchvision.transforms图像变换实例
Dec 30 Python
Python for循环搭配else常见问题解决
Feb 11 Python
django实现更改数据库某个字段以及字段段内数据
Mar 31 Python
在Sublime Editor中配置Python环境的详细教程
May 03 Python
教你如何用python操作摄像头以及对视频流的处理
Oct 12 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
Jan 20 #Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
Jan 20 #Python
python 查找字符串是否存在实例详解
Jan 20 #Python
python django 访问静态文件出现404或500错误
Jan 20 #Python
python中实现迭代器(iterator)的方法示例
Jan 19 #Python
Python正则替换字符串函数re.sub用法示例
Jan 19 #Python
Python中二维列表如何获取子区域元素的组成
Jan 19 #Python
You might like
php使HTML标签自动补全闭合函数代码
2012/10/04 PHP
PHP中应该避免使用同名变量(拆分临时变量)
2015/04/03 PHP
Laravel中的chunk组块结果集处理与注意问题
2018/08/15 PHP
Array.prototype 的泛型应用分析
2010/04/30 Javascript
js sort 二维数组排序的用法小结
2014/01/24 Javascript
jquery中get和post的简单实例
2014/02/04 Javascript
js获取url中的参数且参数为中文时通过js解码
2014/03/19 Javascript
script标签属性用type还是language
2015/01/21 Javascript
jQuery实现form表单基于ajax无刷新提交方法详解
2015/12/08 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
JavaScript制作简单分页插件
2016/09/11 Javascript
详解vue之页面缓存问题(基于2.0)
2017/01/10 Javascript
ES6新数据结构Map功能与用法示例
2017/03/31 Javascript
使用bootstraptable插件实现表格记录的查询、分页、排序操作
2017/08/06 Javascript
zepto.js 实时监听输入框的方法
2018/12/04 Javascript
微信小程序实现下拉刷新动画
2019/06/21 Javascript
vue 组件内获取actions的response方式
2019/11/08 Javascript
零基础写python爬虫之使用Scrapy框架编写爬虫
2014/11/07 Python
linux下python抓屏实现方法
2015/05/22 Python
bat和python批量重命名文件的实现代码
2016/05/19 Python
Python列出一个文件夹及其子目录的所有文件
2016/06/30 Python
Python快速查找list中相同部分的方法
2018/06/27 Python
Python闭包函数定义与用法分析
2018/07/20 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
Django 对象关系映射(ORM)源码详解
2019/08/06 Python
python数据归一化及三种方法详解
2019/08/06 Python
美国受欢迎的女性牛仔裤品牌:DL1961
2016/11/12 全球购物
西班牙土拨鼠床垫公司,感觉在云端:Marmota
2019/03/18 全球购物
荷兰最大的儿童服装店:The Kids Republic
2019/04/13 全球购物
Java如何支持I18N?
2016/10/31 面试题
师范类求职信
2014/06/21 职场文书
联片教研活动总结
2014/07/01 职场文书
庆国庆活动总结
2014/08/28 职场文书
基层工作经历证明
2015/06/19 职场文书
你会写请假条吗?
2019/06/26 职场文书