import osimport argparseimport requestsimport loggingimport reimport transmissionrpcfrom concurrentfutures import ThreadPoolExecutor as_completedfrom tqdm import tqdmdef check_dirpath if not ospath
简介: 这是一个命令行工具,用于下载文件。支持http、ftp、magnet三种下载方式,可指定输出文件名和输出路径,支持多线程下载。
用法:
python downloader.py [-h] -u
参数: -h, --help:显示帮助信息。
-u
-o
-t <NUM_THREADS>,--threads <NUM_THREADS>:指定下载线程数,默认为4。
-d
示例: 下载文件: python downloader.py -u https://download.pytorch.org/whl/cpu/torch-1.10.0%2Bcpu-cp38-cp38-linux_x86_64.whl -o torch.whl
下载文件并指定输出路径: python downloader.py -u https://download.pytorch.org/whl/cpu/torch-1.10.0%2Bcpu-cp38-cp38-linux_x86_64.whl -o torch.whl -d /home/user/downloads
下载文件并指定线程数: python downloader.py -u https://download.pytorch.org/whl/cpu/torch-1.10.0%2Bcpu-cp38-cp38-linux_x86_64.whl -o torch.whl -t 8
详细说明: 该工具支持http、ftp、magnet三种下载方式。使用requests库进行下载,支持断点续传。通过ThreadPoolExecutor实现多线程下载,可指定线程数。下载过程中使用tqdm库显示进度条。
注意事项:
- 当指定的输出文件名已经存在时,会在文件名后加上"_1"、"_2"、"_3"……直到找到一个不存在的文件名。
- 当指定的输出路径不存在时,会尝试创建该路径。
- 当下载的url不是以http、ftp、magnet开头时,会报错。
错误帮助:
-
错误:'xxx' is not a directory。 原因:指定的输出路径不是一个目录。 解决:请指定一个正确的目录。
-
错误:'xxx' is not a valid url。 原因:指定的url不是一个合法的url。 解决:请指定一个合法的url,支持http、ftp、magnet三种方式。
-
错误:Download failed: xxx。 原因:下载过程中发生了错误。 解决:请检查网络连接,或者尝试更改下载线程数。
-
错误:The url xxx does not start with http, ftp or magnet。 原因:指定的url不是以http、ftp、magnet开头。 解决:请指定一个以http、ftp、magnet开头的url
原文地址: https://www.cveoy.top/t/topic/hmYW 著作权归作者所有。请勿转载和采集!