python: извлечение сжатого файла .bz2 из торрент-файла - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть файл .torrent, который содержит файл .bz2.Я уверен, что такой файл на самом деле находится в .torrent, потому что я извлек .bz2 с помощью Utorrent.

Как я могу сделать то же самое в python вместо использования utorrent?

Я видел много библиотек для работы с файлами .torrent в python, но, очевидно, ни одна из них не делает то, что мне нужно.Среди моих неудачных попыток я могу упомянуть:

import torrent_parser as tp
file_cont = tp.parse_torrent_file('RC_2015-01.bz2.torrent')

file_cont теперь словарь и file_cont['info']['name']='RC_2015-01.bz2', но если я пытаюсь открыть файл, то есть

from bz2 import BZ2File
with BZ2File(file_cont['info']['name']) as f:
    what_I_want = f.read() 

, то содержимоесловаря (очевидно, я бы сказал) интерпретируется как путь, и я получаю

No such file or directory: 'RC_2015-01.bz2'

Другие попытки были еще более разрушительными.

1 Ответ

0 голосов
/ 20 февраля 2019

A .torrent файл - это просто файл метаданных , указывающий, где взять данные, и имя файла файла.Вы не можете получить содержимое файла из этого файла.

Только после того, как вы успешно загрузили этот торрент-файл на диск (используя торрент-программное обеспечение), вы можете использовать BZ2File, чтобы открыть его (если это формат .bz2)).

Если вы хотите выполнить фактическую загрузку с помощью Python, единственная найденная мной опция была torrent-dl , которая не обновлялась в течение 2 лет.

...