Como usar FTP em Python?

Como usar FTP em Python?
Você já usou qualquer sistema de controle de versão ou sistema de rede em nuvem no qual você e seus colegas podem atualizar os dados e buscar os arquivos? Caso contrário, este artigo seria muito benéfico para você. Você pode criar programas Python que realizam várias tarefas Autônomas de FTP usando o pacote FTPLIB no Python. Para baixar arquivos e gerenciá -los offline, os usuários podem se conectar instantaneamente a algo como um servidor FTP. Neste artigo, discutiremos os programas Python para usar o servidor FTP e acessar seus arquivos no sistema local.

Exemplo 01:

Vamos começar com o primeiro exemplo de python usando FTP em seus programas. Para isso, usamos a ferramenta Spyder 3 para o programa Python no sistema Windows 10. Este script deve primeiro estabelecer uma conexão com um servidor FTP. Criamos um novo arquivo chamado “Teste.py ”na ferramenta Spyder 3 e salvou -a dentro da respectiva pasta Spyder. Temos iniciado este código com a importação da biblioteca "ftplib" para usar o FTP em Python.

Depois disso, estamos tentando nos conectar a um servidor FTP usando seu URL oficial i.e., “FTP.Nluug.nl ”. Este URL foi usado na função "FTP" através do uso da biblioteca "ftplib" do Python. O resultado de retorno para esta função FTP seria salvo no objeto "FTP" "F". Usando este objeto FTP "F", estamos usando a função Login () do FTP para fazer o login do usuário do FTP usando o nome de usuário anônimo e sua senha ou e -mail para fazer login. Definimos uma lista vazia “V” que armazenará a lista de documentos e diretórios residindo na pasta raiz deste servidor FTP. Esta lista "V" tem usado a função "Append ()" do Python para inserir todos os arquivos e diretórios na forma de uma matriz residindo no próprio diretório de trabalho atual, na própria lista "V", através da função "dir".

Depois disso, o objeto FTP foi usado para fechar a conexão com o servidor através do uso da função Quit () da biblioteca FTP. Depois disso, usamos a lista "V" no loop "for" para ler toda a sua linha de dados por linha e imprimir tudo usando a função "impressão" junto com a variável de linha, tomando cada documento ou diretório como um Elemento de uma lista. Nosso código agora está concluído e o salvamos para executar.

importar ftplib
f = ftplib.FTP ("FTP.Nluug.nl ")
f.Login ("Anonymous", "FTPLIB-Exemplo-1")
v = []
f.dir (v.acrescentar)
f.desistir()
para linha em V:
print ("-", linha)

Ao executar este código no Spyder 3 usando seu botão Executar, temos a lista de todos os arquivos disponíveis no diretório raiz do servidor FTP em nosso console de Spyder. Você pode ver que ele exibiu os privilégios atribuídos a cada diretório junto com a data da criação e o nome do arquivo depois disso. Existem alguns arquivos de espelho na lista, bem como symblinks.

Exemplo 02:

Em nosso primeiro exemplo, analisamos como listar todos os arquivos e pastas que residem na pasta raiz atual do seu servidor FTP. Agora, listaremos os documentos da pasta específica do seu servidor FTP. Para isso, estamos utilizando o mesmo código que usamos no primeiro exemplo. Assim, temos iniciado este exemplo com a importação da mesma biblioteca FTPLIB do Python para conectar nosso programa ao servidor FTP. Temos conectado nosso programa com o mesmo servidor FTP usando a função FTP e login anonimamente por meio da função Login () do Python.

Após o login bem -sucedido usando o objeto "F" do pacote FTP do Python, inicializamos uma lista vazia "V" que será usada ainda mais. A função “cwd ()” do módulo FTP em Python foi utilizada para alterar o diretório de trabalho atual e se mover dentro de uma nova pasta I.e., “Pub” do nosso servidor FTP. Agora, estamos em um local diferente do servidor FTP e usando a função Apênd para inserir todos os arquivos da pasta "pub" na lista "V" usando a função "dir".

A função Quit () foi usada para sair do servidor FTP. O loop "for" está aqui para imprimir cada arquivo nesta pasta "pub" como um elemento de linha separado.

importar ftplib
f = ftplib.FTP ("FTP.Nluug.nl ")
f.Login ("Anonymous", "FTPLIB-Exemplo-1")
v = []
f.CWD ('/pub/')
f.dir (v.acrescentar)
f.desistir()
para linha em V:
print ("-", linha)

Após a execução deste código atualizado, temos todos os arquivos e pastas da pasta "pub" exibida na tela do console.

Exemplo 03:

Os dois exemplos acima foram sobre listar os arquivos do servidor FTP em seu console. Agora, vamos dar uma olhada no uso da função python getFile () do FTP para buscar os arquivos do servidor FTP em nosso sistema local.

Para isso, estamos definindo a função "getfile" com o objeto "f" e o nome do arquivo. O manuseio de exceções de Try-Catch foi usado aqui para abrir o respectivo arquivo de qualquer pasta do servidor, fazer sua cópia usando a função "gravação" e salvá-lo no sistema local usando a função "retratinária". Se isso não acontecer, a parte, exceto, lançará uma exceção.

Depois disso, a conexão com o servidor seria estabelecida e passamos para a pasta "pub". A função getfile () foi chamada três vezes para buscar arquivos diferentes a cada vez. Por fim, fechamos a conexão através da função Quit ().

importar ftplib
def getfile (f, nome do arquivo):
tentar:
f.TRBINÁRIA ("RET" + nome do arquivo, aberto (nome do arquivo, 'wb').escrever)
exceto:
print ("erro")
f = ftplib.FTP ("FTP.Nluug.nl ")
f.Login ("Anonymous", "FTPLIB-Exemplo-1")
f.CWD ('/pub/')
getfile (f, 'db')
getfile (f, 'cripto')
getfile (f, 'favicon.ico ')
f.desistir()

Ao executar este programa, temos todos os três arquivos no sistema local, como mostrado.

Conclusão

Este artigo está contendo uma ótima explicação do objetivo de usar o servidor FTP no código Python: busque os arquivos on -line no seu sistema local. Discutimos como os arquivos do servidor FTP podem ser listados no console e como podemos buscá -los facilmente usando as funções FTP.