Hi,
I changed the script as you wrote below:
from ftplib import FTP
def handleDownload(block):
file.write(block)
print ".",
ftp = FTP('ftp.genome.jp')
print ftp.login()
directory = 'pub/kegg/genomes'
ftp.cwd(directory)
k=0
for direct in ftp.nlst():
curdir = '%s/%s' % (directory, direct)
ftp.cwd(curdir)
for filename in ftp.nlst():
if not filename.endswith('.pep'): continue
file = open(filename, 'wb')
ftp.retrbinary('RETR %s/%s' % (curdir, filename), handleDownload)
file.close()
k=k+1
print ftp.close()
However, it gave the same error message:
230 Anonymous access granted, restrictions apply.
Traceback (most recent call last):
File "ftp1.0.py", line 18, in ?
ftp.cwd(curdir)
File "/usr/lib/python2.4/ftplib.py", line 494, in cwd
return self.voidcmd(cmd)
File "/usr/lib/python2.4/ftplib.py", line 246, in voidcmd
return self.voidresp()
File "/usr/lib/python2.4/ftplib.py", line 221, in voidresp
resp = self.getresp()
File "/usr/lib/python2.4/ftplib.py", line 216, in getresp
raise error_perm, resp
ftplib.error_perm: 550 pub/kegg/genomes/aae: No such file or directory
However, in ftp.genome.jp/pub/kegg/genomes/ site, there is 'aae' directory. What can be the reason?
regards,
alper
I changed the script as you wrote below:
from ftplib import FTP
def handleDownload(block):
file.write(block)
print ".",
ftp = FTP('ftp.genome.jp')
print ftp.login()
directory = 'pub/kegg/genomes'
ftp.cwd(directory)
k=0
for direct in ftp.nlst():
curdir = '%s/%s' % (directory, direct)
ftp.cwd(curdir)
for filename in ftp.nlst():
if not filename.endswith('.pep'): continue
file = open(filename, 'wb')
ftp.retrbinary('RETR %s/%s' % (curdir, filename), handleDownload)
file.close()
k=k+1
print ftp.close()
However, it gave the same error message:
230 Anonymous access granted, restrictions apply.
Traceback (most recent call last):
File "ftp1.0.py", line 18, in ?
ftp.cwd(curdir)
File "/usr/lib/python2.4/ftplib.py", line 494, in cwd
return self.voidcmd(cmd)
File "/usr/lib/python2.4/ftplib.py", line 246, in voidcmd
return self.voidresp()
File "/usr/lib/python2.4/ftplib.py", line 221, in voidresp
resp = self.getresp()
File "/usr/lib/python2.4/ftplib.py", line 216, in getresp
raise error_perm, resp
ftplib.error_perm: 550 pub/kegg/genomes/aae: No such file or directory
However, in ftp.genome.jp/pub/kegg/genomes/ site, there is 'aae' directory. What can be the reason?
regards,
alper
----- Original Message ----
From: Gabriel Genellina <[EMAIL PROTECTED]>
To: alper soyler <[EMAIL PROTECTED]>
Cc: Python-list@python.org
Sent: Tuesday, August 29, 2006 10:26:57 AM
Subject: Re: a question about my script
From: Gabriel Genellina <[EMAIL PROTECTED]>
To: alper soyler <[EMAIL PROTECTED]>
Cc: Python-list@python.org
Sent: Tuesday, August 29, 2006 10:26:57 AM
Subject: Re: a question about my script
At Tuesday 29/8/2006 03:55, alper soyler wrote:
>I am trying to get some files from an ftp site by ftplib module and
>I wrote the below script. However I have a problem. With my script,
>I login to ftp.genome.jp site. then, I am changing the directory to
>pub/kegg/genomes/afm and I am downloading "a.fumigatus.pep" file.
>However, what I want is to connect pub/kegg/genomes directory and in
>this directory there are 3 letters name files
3 letters *files*? or 3 letters *directories*?
>e.g. 'afm' and in each of these 3 letters files there is a file with
>the extension of '.pep' like a.fumigatus.pep. I want to get these
>'.pep' files from the 3 letter named files. If you help me I will be
>very glad. Thanks you in advance.
Do a cwd() starting one level above (that is, pub/kegg/genomes);
using ftp.dir() you can get the subdirectories, then iterate over all
of them, using another dir() to find the .pep files needed.
>directory = 'pub/kegg/genomes/ afm'
Is that whitespace intentional?
(If you just want to download the files and don't need really a
Python script, try wget...)
Gabriel Genellina
Softlab SRL
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
>I am trying to get some files from an ftp site by ftplib module and
>I wrote the below script. However I have a problem. With my script,
>I login to ftp.genome.jp site. then, I am changing the directory to
>pub/kegg/genomes/afm and I am downloading "a.fumigatus.pep" file.
>However, what I want is to connect pub/kegg/genomes directory and in
>this directory there are 3 letters name files
3 letters *files*? or 3 letters *directories*?
>e.g. 'afm' and in each of these 3 letters files there is a file with
>the extension of '.pep' like a.fumigatus.pep. I want to get these
>'.pep' files from the 3 letter named files. If you help me I will be
>very glad. Thanks you in advance.
Do a cwd() starting one level above (that is, pub/kegg/genomes);
using ftp.dir() you can get the subdirectories, then iterate over all
of them, using another dir() to find the .pep files needed.
>directory = 'pub/kegg/genomes/ afm'
Is that whitespace intentional?
(If you just want to download the files and don't need really a
Python script, try wget...)
Gabriel Genellina
Softlab SRL
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
-- http://mail.python.org/mailman/listinfo/python-list