1

我有一个包含 .bz2 文件的 .torrent 文件。我确信这样的文件实际上在 .torrent 中,因为我使用 utorrent 提取了 .bz2。

我怎样才能在 python 中做同样的事情而不是使用 utorrent?

我在 python 中看到了很多用于处理 .torrent 文件的库,但显然没有一个库能满足我的需要。在我不成功的尝试中,我可以提到:

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'

其他尝试的破坏性更大。

4

1 回答 1

1

.torrent文件只是一个元数据文件,指示从何处获取数据和文件的文件名。您无法从该文件中获取文件内容。

只有在您成功将此 torrent 文件下载到磁盘(使用 torrent 软件)后,您才能使用 BZ2File 打开它(如果它是.bz2格式化的)。

如果您想使用 Python 执行实际下载,我发现的唯一选项是torrent-dl,它已经 2 年没有更新了。

于 2019-02-19T21:46:34.067 回答