Primeiro, vamos instanciar o plugin que passando as informações que usaremos para conectar ao servidor FTP.
nome_host="<nome_servidor>"nome_usuario="<login_usuario>"senha="<senha_usuario>"# Instancie o pluginFTP=BotFTPPlugin(nome_host,nome_usuario,senha)
Observação
Se nenhum nome de usuário e senha forem passados, a tentativa de login do servidor será feita usando um usuário anônimo por padrão.
Alguns servidores não permitem login anônimo, então preste atenção nisso.
# Conectando ao servidorftp=BotFTPPlugin("<SERVIDOR_FTP>","<USUARIO>","<SENHA>")# Carregando um arquivo local chamado exemplo.txt para o servidorftp.upload_file('meus_arquivos/exemplo.txt')# Baixando um arquivo chamado README armazenado no servidor e salvando no caminho local: ftp_files/downloadsftp.download_file('README','ftp_arquivos/downloads')# Fecha a conexão com o servidorftp.disconnect()
# Renomear o arquivo chamado "meu_arquivo.txt" armazenado no servidor.ftp.rename_file('meu_arquivo.txt','meu_arquivo_atualizado.txt')# Excluindo um arquivo do servidor pelo nomeftp.delete_file('meu_arquivo_atualizado.txt')
Dica
Ao renomear um arquivo, você também pode passar um caminho completo em vez de apenas o nome do arquivo.Nesse caso, o arquivo, além de ser renomeado, será movido para o caminho que foi aprovado.
Também é possível fazer operações básicas com os diretórios presentes no servidor.
ftp=BotFTPPlugin("<SERVIDOR_FTP>","<USUARIO>","<SENHA>")# Imprime o caminho do diretório de trabalho atual.pasta_atual=ftp.get_current_directory()print(pasta_atual)# Imprime a lista de todos os arquivos e pastas contidas no diretório de trabalho atualftp.list_files()# Remova o diretório especificado do servidorftp.remove_directory('testes/arquivos/diretorio_1')# Crie um novo diretório no servidor. O caminho completo do diretório criado será devolvido.caminho_dir=ftp.create_directory('meu_diretorio')# Altera o diretório de trabalho atual para o novo diretório criadoftp.set_current_directory(caminho_dir)
frombotcity.plugins.ftpimportBotFTPPlugin# Conectando ao servidorftp=BotFTPPlugin("<SERVIDOR_FTP>","<USUARIO>","<SENHA>")# Criando um novo diretório e configurando -o para o diretório de trabalho atualcaminho_dir=ftp.create_directory('testes/meu_diretorio')ftp.set_current_directory(caminho_dir)# Para cada arquivo na pasta local, envie -o para a pasta criada no servidorpasta_local='downloads/aqruivos'forarquivoinos.listdir(pasta_local):ftp.upload_file(os.path.join(pasta_local,arquivo))ftp.list_files()# Fecha a conexão com o servidorftp.disconnect()
Além de gerenciar arquivos em um servidor FTP, com este plugin, também é possível executar as mesmas operações mostradas acima nos servidores SFTP através de uma conexão SSH.
Para usar essas mesmas operações em um servidor SFTP, basta instanciar um objeto da classe BotSFTPPlugin.
frombotcity.plugins.ftpimportBotSFTPPlugin# Conectando ao servidorsftp=BotFTPPlugin("<SERVIDOR_FTP>",22,"<USUARIO>","<SENHA>")# Imprime o nome de cada arquivo no diretório de trabalho atualforarquivoinsftp.get_files_list():print(arquivo)# Criando um novo diretório no servidorsftp.create_directory("pastas/minha_pasta")# Carregue um arquivo para a pasta criada no servidorsftp.upload_file("image.png","pastas/minha_pasta")# Fecha a conexão com o servidorsftp.disconnect()