日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

利用python开源库制作并验证torrent种子文件

發布時間:2023/11/27 生活经验 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用python开源库制作并验证torrent种子文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下面的文章來源于參考文獻[1], 這里將我的實踐過程記錄如下,方便后來人參考,我的操作系統是Ubuntu 14.04 64bit

一.安裝開源BT種子制作軟件包

cd ?/home/taoyx/下載/

wget?http://jaist.dl.sourceforge.net/project/mktorrent/mktorrent/1.0/mktorrent-1.0.tar.gz

tar zxvf mktorrent-1.0.tar.gz

cd mktorrent-1.0

make

sudo make install

安裝完成后,使用下面的命令查看mktorrent是否在下面的目錄中

which mktorrent

/usr/local/bin/mktorrent

二.安裝python的bencode模塊,以便用來獲取BT種子文件信息,

wget?https://pypi.python.org/packages/source/b/bencode/bencode-1.0.tar.gz

tar zxvf bencode-1.0.tar.gz

cd bencode-1.0.tar.gz

sudo python setup.py install

三.利用下面的python腳本make_torrent.py來制作和驗證BT種子文件信息, 注意,如果只制作而不驗證, 直接在python中調用下面的命令行就可以了.

#!/usr/bin/env python
#encoding: utf-8import os, re, time, sys
import hashlib, bencodeif len(sys.argv) != 3:print 'usage: %s <src_file> <dst_file>' % sys.argv[0]sys.exit(1)bt_file = sys.argv[1]
bt_torrent = sys.argv[2]if os.path.exists(bt_torrent):os.remove(bt_torrent)if os.path.exists(bt_file):#make torrent ......cmd = '/usr/local/bin/mktorrent -v -p -l 18 -a http://bt1.text.cn/announce -a http://bt2.text.cn/announce -o %s %s' \% (bt_torrent, bt_file)#validate torrent inforesult = os.popen(cmd).readlines()[-1].strip()if 'done' in result:bt_path = {}bt_filename = open(bt_torrent, 'rb')bt_info = bencode.bdecode(bt_filename.read()).get('info')bt_info_hash_hex = hashlib.sha1(bencode.bencode(bt_info)).hexdigest()if os.path.isdir(bt_file):bt_file_size = 0for length in bt_info.get('files'):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_sizebt_filename.close()print bt_pathprint "Create torrent success"else:print "Create torrent fail"sys.exit(1)
else:print "The specified source can not find"sys.exit(0)

下面是調用效果圖


參考文獻

[1].http://wangwei007.blog.51cto.com/68019/1216616

總結

以上是生活随笔為你收集整理的利用python开源库制作并验证torrent种子文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。