Когда я запускаю этот код из IPython 0.13:Python ftplib проблем
import ftplib
f=ftplib.FTP('ftp://ftp.ncbi.nih.gov/genomes/Bacteria/')
Я получаю следующее сообщение об ошибке: gaierror: [Errno 8] имя_узел ни servname предоставленных или не известные
Полная ошибка ниже. Я запускаю python 2.7.1 на Mac OS X v10.7.5 (Lion). Я сделал несколько поисков, и похоже, что в других ситуациях была создана аналогичная ошибка. Странная часть я могу сделать
import urllib2
tt= urllib2.urlopen('ftp://ftp.ncbi.nih.gov/genomes/Bacteria/')
и он работает, но если я мог бы использоваться функции FTP я мог избежать синтаксический разбор urlopen, поскольку моя конечная цель выбрать подмножество каталогов и загружать их содержание.
Любая идея, как эту ошибку можно решить или обойти? Заранее спасибо
---------------------------------------------------------------------------
gaierror Traceback (most recent call last)
<ipython-input-2-91f3bda2d528> in <module>()
----> 1 f=ftplib.FTP('ftp://ftp.ncbi.nih.gov/genomes/Bacteria/')
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ftplib.pyc in __init__(self, host, user, passwd, acct, timeout)
115 self.timeout = timeout
116 if host:
--> 117 self.connect(host)
118 if user:
119 self.login(user, passwd, acct)
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ftplib.pyc in connect(self, host, port, timeout)
130 if timeout != -999:
131 self.timeout = timeout
--> 132 self.sock = socket.create_connection((self.host, self.port), self.timeout)
133 self.af = self.sock.family
134 self.file = self.sock.makefile('rb')
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.pyc in create_connection(address, timeout, source_address)
551 host, port = address
552 err = None
--> 553 for res in getaddrinfo(host, port, 0, SOCK_STREAM):
554 af, socktype, proto, canonname, sa = res
555 sock = None
gaierror: [Errno 8] nodename nor servname provided, or not known
Спасибо! Это работает. Мне просто нужно добавить f.login() Войти как анонимный! – JAC