Trabalhando com FTP de Python

Índice
Pitão É uma linguagem que nos permite incorporar o trabalho com as diferentes funcionalidades dos sistemas operativos de uma forma fácil e intuitiva, graças ao grande número de bibliotecas e documentação que existe na rede de forma gratuita e bem explicada.
Um dos pontos fortes desta linguagem é o trabalho com protocolos de rede, entre os quais podemos citar os FTP e algo mais comum como o e-mail, com isso podemos desenvolver programas ou aplicativos que nos permitem fazer upload de arquivos para computadores remotos de forma automatizada se quisermos, tudo sem a necessidade de recorrer a outras ferramentas fora do ecossistema de. Pitão.
O protocolo FTP nos permite fazer transferências de arquivos por meio de uma conexão em uma rede. Normalmente é o protocolo que usamos para nos conectar remotamente aos servidores e, dessa forma, manipular arquivos, geralmente o porta 21No entanto, isso é totalmente ao gosto do consumidor, por isso, se virmos outra porta, não é surpreendente que seja uma instalação personalizada.
Para interagir com este protocolo precisamos de duas coisas, a primeira é um servidor que está no ar e disponível para a nossa rede, pode estar na mesma rede ou talvez na Internet. A segunda coisa que se precisa é um cliente que possa enviar e receber informações desse servidor, esse cliente deve ter a capacidade de usar as portas especificadas pelo serviço e a autenticação estabelecida.
Faça um cliente em Pitão que eu posso fazer conexão FTP Do zero é possível, porém o esforço que nos custaria seria considerável e no final pode ser em vão se não necessitarmos de algo especial.
Para evitar transtornos e desenvolvimento desnecessário Pitão nos fornece uma biblioteca que já nos ajuda em grande parte do trabalho. Nós estamos falando sobre ftplib, contém métodos completos e já testados e refinados que facilitam a comunicação usando o protocolo de transferência de arquivos FTP.
Como usar a biblioteca?Para usar esta biblioteca, simplesmente temos que incluí-la em nosso programa usando a instrução importar e então começamos nosso desenvolvimento normal. No exemplo a seguir, vamos fazer um pequeno programa cliente que pode se conectar a um servidor FTP, neste caso vamos usar o serviço kernel.org que é um site Linux e com isso vamos listar os arquivos disponíveis.
Escolhemos este servidor porque não precisa de autenticação e nos permite usar o modo anônimo. Vamos então ver o código e então faremos a explicação correspondente, o único requisito que precisamos é ter Python 2.7 e conexão com a Internet:
 #! / usr / bin / env python PATH_FTP_SERVER = 'ftp.kernel.org' import ftplib def client_ftp_connection (servidor, nome de usuário, correio): # abra a conexão ftp = ftplib.FTP (servidor, nome de usuário, correio) # listamos o arquivos no diretório / pub ftp.cwd ("/ pub") print "Arquivos disponíveis em% s:"% server files = ftp.dir () print files ftp.quit () if __name__ == '__main__': client_ftp_conexion ( server = FTP_SERVER_PATH, username = 'anônimo', mail='[email protected] ',) 

A primeira coisa que fazemos é definir uma variável dentro do arquivo que irá conter o caminho do servidor FTP ao qual queremos fazer a conexão, neste caso é ftp .kernel.org, é aqui que podemos obter informações do kernel Linux.
No próximo ato fazemos o importar da livraria ftplib referido, com isto asseguramos a possibilidade de utilizar todos os métodos necessários para se conectar ao servidor definido acima, para isso utilizamos o método FTP do mesmo, lá passaremos o roteiro, o nome de usuário e um e-mail.
Verificando a conexãoPara testar se a conexão funciona, usamos o comando cwd para navegar para um diretório e, em seguida, com dir () Podemos listar os arquivos dessa pasta no servidor, assim que terminarmos nosso procedimento chamamos o método Sair () para encerrar a sessão e fechar a conexão.
Este código deve ir em um arquivo com o nome que queremos com extensão .py para que nosso intérprete Pitão podemos executá-lo, para isso no caminho onde nosso arquivo está localizado o executamos com a palavra reservada python e o nome do nosso arquivo, que deve nos dar algo semelhante ao que vemos na tela a seguir:

PROLONGAR

Embora no exemplo anterior possamos listar os arquivos de um servidor, o que é bastante útil para obter informações deles, algo mais poderoso é poder fazer upload de arquivos. As utilidades disso são muitas, podemos contar, por exemplo, a transferência de arquivos resultantes de um aplicativo para processamento de outro, ou talvez fazer backups de um computador em outro que esteja dentro da rede. Claro que hoje podem existir soluções muito mais elegantes, mas não basta conseguir com uma aplicação que desenvolvemos nós próprios.
RequerimentoO requisito adicional de que precisamos para este exercício é ter um servidor FTP local em nosso equipamento de teste, para isso se tivermos um sistema Linux podemos usar wu-ftp, mas se estivermos na plataforma janelas podemos usar o Filezilla Server, que é de uso gratuito.
Qualquer que seja o servidor que possamos usar, devemos ter permissões ou a possibilidade de acesso anônimo, de qualquer forma no código a seguir veremos de uma maneira melhor como podemos fazer upload de arquivos.
Devemos criar um usuário e uma conta FTP No servidor local que criamos para poder fazer uso deste exemplo, ele também funciona com servidores remotos, apenas temos que nos certificar de que temos nossas credenciais atualizadas. Então, podemos usar o seguinte código:
 #! / usr / bin / env python import os import argparse import ftplib import getpass SERVER_FTP_LOCAL = 'localhost' FILE_TO_UPLOAD = 'example.txt' def upload_ftp (servidor, nome de usuário, senha, upload_file): print "Conectando ao servidor:% s" % server ftp = ftplib.FTP (server) print "Fazendo login como: user =% s"% username ftp.login (nome de usuário, senha) ext = os.path.splitext (upload_file) [1] se ext em (". txt "," .htm "," .html "): ftp.storlines (" STOR "+ upload_file, open (upload_file)) else: ftp.storbinary (" STOR "+ upload_file, open (upload_file," rb "), 1024) print "Arquivo enviado:% s"% upload_file if __name__ == '__main__': parser = argparse.ArgumentParser (description = 'Exemplo de envio de arquivos FTP') parser.add_argument ('- server', action = "store" , dest = "server", default = SERVER_FTP_LOCAL) parser.add_argument ('- file', action = "store", dest = "file_upload", default = FILE_TO_UPLOAD) parser.add_argument ('- user', action = "store" , dest = "n user_name ", default = getpass.getuser ()) application_parameters = parser.parse_args () server, upload_file, user_name = application_parameters.server, application_parameters. upload_file, application_parameters.user_name senha: senha: getpass.getpass the (prompt =") senha: getpass.getpass the (prompt = ") upload_ftp (servidor, nome de usuário, senha, upload_file) 

Neste exemplo, além de importar a biblioteca ftplib, também importamos bibliotecas vocês para poder acessar os comandos do sistema operacional, usamos adicionalmente argparse Y Obter passagem para processar a utilização dos parâmetros introduzidos pelo utilizador e assim tornar o nosso programa mais dinâmico.
Em seguida, definimos algumas constantes com as quais vamos estabelecer o servidor e um arquivo de exemplo que enviaremos para a pasta definida por nosso usuário FTP. O próximo passo é abrir a conexão FTPPorém, neste caso utilizaremos um nome de usuário e senha, já que em tese estamos acessando um servidor com autenticação não anônima, principalmente por questões de segurança e também para mostrar que nosso exemplo funciona em outros casos.
Continuamos avaliando a extensão do nosso arquivo, com isso veremos se é um arquivo texto, para isso usamos storlines (), com o qual não iremos afetar o conteúdo da mesma, no caso de ser outra extensão diferente das definidas usaremos o método estorbinário () para poder passar o arquivo em sua forma original com seu conteúdo binário, não o corrompendo e permitindo que ele continue a ser usado.
Finalmente usamos argparse () ser capaz de tomar os argumentos que um usuário pode introduzir para usar nosso programa, com a exceção de que se não colocar valores, serão tomados os valores globais definidos em nosso programa. Executamos nosso programa e se tudo tiver saído corretamente, poderemos ver a seguinte saída em nosso console:

PROLONGAR

Notamos que neste caso o parâmetro do usuário é o único que usamos, pois em nosso servidor temos um usuário chamado test-python, então introduzimos a senha atribuída ao referido usuário e o upload do arquivo é realizado de forma eficaz.
Com isso terminamos este tutorial, aprendemos como fazer uma conexão FTP de um programa feito em Pitão, o importante aqui é observar como os métodos que vêm da biblioteca padrão de Pitão conseguimos realizar funcionalidades que de outra forma nos levariam muito tempo, além da grande quantidade de código que teria que ser gerado. Recomendamos continuar investigando a documentação oficial da livraria ftplib, desta forma, aumentaremos significativamente nossas habilidades no mundo Pitão, abrindo assim as portas para sermos mais eficazes como desenvolvedores neste mundo tecnológico altamente competitivo.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave