Fórum Ubuntu Linux - PT

Suporte Técnico => Programação e Scripts => Tópico iniciado por: Kamei Hyoga em 20 de Novembro de 2007, 05:55

Título: como upar vários arquivos de uma pasta usando o ftplib (Python)?[Resolvido]
Enviado por: Kamei Hyoga em 20 de Novembro de 2007, 05:55
Pessoal, estou tentando upar vários arquivos para uma pasta via FTP, mas não consigo.

Essa é a estrutura que estou usando:

Código: [Selecionar]
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.
Título: Re: como upar vários arquivos de uma pasta usando o ftplib (Python)?
Enviado por: Kamei Hyoga em 21 de Outubro de 2009, 15:41
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?
Título: Re: como upar vários arquivos de uma pasta usando o ftplib (Python)?
Enviado por: Kamei Hyoga em 21 de Outubro de 2009, 17:04
Ahaha finalmente achei a resposta!!

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

Código: [Selecionar]
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