Das Beispiel in diesem Artikel beschreibt, wie Sie Python auf der Linux-Plattform verwenden, um BT-Seeds zu erstellen und BT-Seed-Informationen zu erhalten. Ich möchte es Ihnen als Referenz mitteilen:
Ich habe kürzlich die Einrichtung einer Linux-BT-Serverumgebung untersucht. Ich muss BT-Seeds erstellen und BT-Seed-Informationen unter Linux erhalten. Ich habe den Prozess geklärt:
Erstellen Sie die Download-Adresse dieser Website für BT-Seed-Software.
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
Benötigen Sie das Bencode-Modul von Python, um BT-Seed-Informationen zu erhalten, Download-Adresse: 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
Das erstellte und überprüfte Python-Skript lautet wie folgt:
#!/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()
Dateiname ist der Name der Datei oder des Verzeichnisses, die für das Seeding verwendet wird.
Ich hoffe, dass dieser Artikel für alle in der Python-Programmierung hilfreich sein wird.
Weitere Artikel zur Verwendung von Python zum Erstellen von BT-Seeds und zum Erhalten von BT-Seed-Informationen auf der Linux-Plattform finden Sie auf der chinesischen PHP-Website!