Maison > Article > développement back-end > Comment utiliser Python pour créer des graines BT et obtenir des informations sur les graines BT sur la plate-forme Linux
L'exemple de cet article décrit comment utiliser Python sur la plate-forme Linux pour créer des graines BT et obtenir des informations sur les graines BT. Je voudrais le partager avec vous pour votre référence. Les détails sont les suivants :
J'ai récemment étudié la création d'un environnement de serveur Linux BT. J'ai besoin de créer des graines BT et d'obtenir des informations sur les graines BT sous Linux. J'ai réglé le processus :
Créez l'adresse de téléchargement de ce site Web pour le logiciel BT Seed.
Installation :
[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
Besoin du module bencode de Python pour obtenir les informations sur les semences BT, adresse de téléchargement : https://pypi.python.org/packages/source / b/bencode/bencode-1.0.tar.gz.
Installation :
#tar -zxf bencode-1.0.tar.gz #cd bencode-1.0.tar.gz #python setup.py install
Le script python produit et vérifié est le suivant :
#!/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 est le nom du fichier ou du répertoire utilisé pour l'amorçage.
J'espère que cet article sera utile à tout le monde dans la programmation Python.
Pour plus d'articles sur la façon d'utiliser Python pour créer des graines BT et obtenir des informations sur les graines BT sur la plate-forme Linux, veuillez faire attention au site Web PHP chinois !