我正在尝试使用python下载文件,模仿与此curl命令相同的行为:
curl ftp://username:password@example.com \
--retry 999 \
--retry-max-time 0
-o 'target.txt' -C -
这在python中看起来怎么样?
我已经研究过的事情:
请求:没有ftp支持
Python-wget:没有下载恢复支持
requests-ftp:没有下载恢复支持
fileDownloader:broken(?)
我猜测人们需要从头开始构建这个,并使用pycurl或urllib2或类似的东西进行低级别。
我正在尝试在python中创建这个脚本,我感到迷茫。我应该从python子进程调用curl吗?
非常感谢写入方向的任何一点
答案 0 :(得分:1)
你可以使用python的内置ftplib
以下是代码:
from ftplib import FTP
ftp = FTP('example.com', 'username', 'password') #logs in
ftp.retrlines() # to see the list of files and directories ftp.cwd('to change to any directory')
ftp.retrbinary('RETR filename', open('Desktop\filename', 'wb').write) # start downloading
ftp.close() # close the connection
支持自动恢复。我甚至尝试关闭我的wifi并检查下载是否正在恢复。
您可以参考/Python27/Lib/ftplib.py获取默认的GLOBAL_TIME_OUT设置。
答案 1 :(得分:0)
这个库用于从ftp服务器下载文件
下载文件
downloader = fileDownloader.DownloadFile(‘http://example.com/file.zip’, “C:UsersusernameDownloadsnewfilename.zip”, (‘username’,’password’))
downloader.download()
恢复下载
downloader = fileDownloader.DownloadFile(‘http://example.com/file.zip’, “C:UsersusernameDownloadsnewfilename.zip”, (‘username’,’password’))
downloader.resume()