Comment utiliser Python pour créer des graines BT et obtenir des informations sur les graines BT sur la plate-forme Linux

高洛峰
Libérer: 2017-02-07 16:54:24
original
1716 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

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()
Copier après la connexion

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 !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!