bonjour à tous,

J'essaye de telecharger des fichiers sur un serveur ftp qui contient des .fna (texte) et/ou des .fna.tgz.
Mon code se connecte , et telecharge les fichiers .fna sans probleme mais pas les .fna.tgz ...

Voici ce que je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import fnmatch
from fnmatch import fnmatch
import ftplib
from ftplib import *
ftp = FTP('ftp.ncbi.nih.gov') 
ftp.login()
rlist=ftp.nlst('genomes/HUMAN_MICROBIOM/Bacteria/Staphylococcus_aureus_USA300_TCH959/' )
print rlist
for f in rlist :
    f, type(f)
    p = 'RETR ' + f
    if fnmatch(f, "*.fna"):
        tt = "toto_" + f[-13:-4] + "_fna"
        tt # affiche par exemple  'toto_NC_010066_fna'
        toto_fna = open(tt,"w")
        ftp.retrbinary(p , toto_fna.write)
        toto_fna.close()
 
for f in rlist :
    f, type(f)
    p = 'RETR ' + f
    if fnmatch(f, "*.fna.tgz"):
        tt = "toto_" + f[-30:-8] + "_fna_tgz"
        tt # affiche par exxemple  'toto_Z_AASB00000000.contigs_fna_tgz'
        toto_fna_tgz = open(tt, "w")
        ftp.retrbinary(p , toto_fna_tgz.write)
        toto_fna_tgz.close()

J'ai testé le code en utilisant mon ftp free et j'ai le meme resultat, donc ça ne vient pas du serveur mais de l'extension .tgz...
Pourtant retrbinary me paraissait assez polyvalent pour s'appliquer aussi aux .tgz..
Si quelqu'un avait la gentillesse de me depanner , je lui en serait gréé ...
merci d'avance