como upar vários arquivos de uma pasta usando o ftplib (Python)?[Resolvido]

Iniciado por Kamei Hyoga, 20 de Novembro de 2007, 05:55

tópico anterior - próximo tópico

Kamei Hyoga

Pessoal, estou tentando upar vários arquivos para uma pasta via FTP, mas não consigo.

Essa é a estrutura que estou usando:


server = ftplib.FTP( servidor, login, senha)
       server.mkd(pasta_ftp)
       server.cwd(pasta_ftp)
       server.storlines('STOR, *.jpg')  # Aqui é onde ocorre o erro
       server.quit()


Alguém tem algum código com a solução, que eu possa estudar (se possivel com comentários para facilitar o aprendizado)

Abraço.

Kamei Hyoga

Acreditam que estou até agora com a dúvida? hehe Claro que tinha deixado ela pra lá, mas agora estou voltando a programar umas coisas e preciso resolver isso.

Será que dando uma volta eu resolveria isso?

Estou pensando em listar todos os arquivos de uma pasta, redirecionando a saida em um arquivo. Depois disso eu crio um laço while que faz o upload de cada arquivo (lendo cada linha) até não ter mais nenhuma.

Minha lógica está correta?

Kamei Hyoga

#2
Ahaha finalmente achei a resposta!!

http://www.computerhope.com/forum/index.php?topic=79181.0


from ftplib import FTP
import os
def upload(ftp, file):   ftp.storbinary("STOR " + file, open(file, "rb"), 1024)
os.chdir("localpath")
ftp = FTP('localhost')
ftp.set_debuglevel(3)  # <------------------------ set debugging mode.
try:
    ftp.login("user","pass")
except Exception, e:
    print "error ",e   #<---------------------------- this part will execute is login fails
else:
    for files in os.listdir("."):
        if os.path.isfile(files):
            upload(ftp,files)


Ainda gostei que está com o debug ativo.

A saga do ftplib terminou!! Hahaha