Python 使用ftplib的错误
我试图使用一个简单的python代码下载目录中的所有文件,我使用了ftplib,但无法获得正确的结果Python 使用ftplib的错误,python,ftp,ftplib,Python,Ftp,Ftplib,我试图使用一个简单的python代码下载目录中的所有文件,我使用了ftplib,但无法获得正确的结果 from ftplib import FTP import os folder='D:\\New folder' os.chdir(folder) ftp = FTP('http://mtb.dobzhanskycenter.org/VCF/') ftp.login() vcffiles = ftp.nlst() for files in vcffiles: local_filename
from ftplib import FTP
import os
folder='D:\\New folder'
os.chdir(folder)
ftp = FTP('http://mtb.dobzhanskycenter.org/VCF/')
ftp.login()
vcffiles = ftp.nlst()
for files in vcffiles:
local_filename = os.path.join('D:\\New folder', files)
file = open(local_filename, 'wb')
ftp.retrbinary('RETR '+ files, file.write)
file.close()
ftp.quit()
Error:-
Traceback (most recent call last):
File "D:/Python Class/url.py", line 5, in <module>
ftp = FTP('http://mtb.dobzhanskycenter.org/VCF/')
File "C:\Program Files\Python37\lib\ftplib.py", line 117, in __init__
self.connect(host)
File "C:\Program Files\Python37\lib\ftplib.py", line 152, in connect
source_address=self.source_address)
File "C:\Program Files\Python37\lib\socket.py", line 707, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File "C:\Program Files\Python37\lib\socket.py", line 748, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 11001] getaddrinfo failed
从ftplib导入FTP
导入操作系统
文件夹='D:\\新建文件夹'
chdir(文件夹)
ftp=ftp('http://mtb.dobzhanskycenter.org/VCF/')
ftp.login()
vcffiles=ftp.nlst()
对于vcffiles中的文件:
local\u filename=os.path.join('D:\\New folder',files)
文件=打开(本地文件名“wb”)
ftp.retrbinary('RETR'+文件,file.write)
file.close()文件
ftp.quit()
错误:-
回溯(最近一次呼叫最后一次):
文件“D:/Python类/url.py”,第5行,在
ftp=ftp('http://mtb.dobzhanskycenter.org/VCF/')
文件“C:\Program Files\Python37\lib\ftplib.py”,第117行,在\uuu init中__
self.connect(主机)
文件“C:\Program Files\Python37\lib\ftplib.py”,第152行,在connect中
source\u address=self.source\u address)
文件“C:\Program Files\Python37\lib\socket.py”,第707行,位于创建\u连接中
对于getaddrinfo(主机、端口、0、SOCK_流)中的res:
文件“C:\Program Files\Python37\lib\socket.py”,第748行,在getaddrinfo中
对于_socket.getaddrinfo(主机、端口、系列、类型、协议、标志)中的res:
socket.gaierror:[Errno 11001]getaddrinfo失败
的第一个参数是host
–主机名或IP地址–而不是URL(让我们只使用HTTP URL–它是FTP客户端,而不是HTTP客户端)
因此,它应该是:
ftp = FTP('mtb.dobzhanskycenter.org')
如果要在/VCF
子文件夹中列出文件,请执行以下操作之一:
ftp.cwd('VCF')
vcffiles = ftp.nlst()
或
的第一个参数是host
——一个主机名或IP地址——不是URL(让我们只使用HTTP URL——它是FTP客户端,而不是HTTP客户端)
因此,它应该是:
ftp = FTP('mtb.dobzhanskycenter.org')
如果要在/VCF
子文件夹中列出文件,请执行以下操作之一:
ftp.cwd('VCF')
vcffiles = ftp.nlst()
或