FTP/SFTP¶
Transfira e manipule seus arquivos e pastas usando nosso FTP e SFTP.
Instalação¶
Instanciando o plugin¶
Primeiro, vamos instanciar o plugin que passando as informações que usaremos para conectar ao servidor FTP.
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.
Operações de arquivo¶
Com este plugin, podemos fazer as operações mais básicas com arquivos e gerenciar facilmente arquivos e arquivos locais que estão no servidor.
Aviso
Antes de executar operações de arquivo, verifique se você está no diretório correto.
Use o método set_current_directory
para definir seu diretório de trabalho atual no servidor.
Carregando e baixando¶
# Conectando ao servidor
ftp = BotFTPPlugin("<SERVIDOR_FTP>", "<USUARIO>", "<SENHA>")
# Carregando um arquivo local chamado exemplo.txt para o servidor
ftp.upload_file('meus_arquivos/exemplo.txt')
# Baixando um arquivo chamado README armazenado no servidor e salvando no caminho local: ftp_files/downloads
ftp.download_file('README', 'ftp_arquivos/downloads')
# Fecha a conexão com o servidor
ftp.disconnect()
Renomeando e excluindo¶
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.
Operações com pasta¶
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 atual
ftp.list_files()
# Remova o diretório especificado do servidor
ftp.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 criado
ftp.set_current_directory(caminho_dir)
Código completo¶
Vamos dar uma olhada no código completo:
from botcity.plugins.ftp import BotFTPPlugin
# Conectando ao servidor
ftp = BotFTPPlugin("<SERVIDOR_FTP>", "<USUARIO>", "<SENHA>")
# Criando um novo diretório e configurando -o para o diretório de trabalho atual
caminho_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 servidor
pasta_local = 'downloads/aqruivos'
for arquivo in os.listdir(pasta_local):
ftp.upload_file(os.path.join(pasta_local, arquivo))
ftp.list_files()
# Fecha a conexão com o servidor
ftp.disconnect()
Trabalhando com servidores SFTP¶
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
.
from botcity.plugins.ftp import BotSFTPPlugin
# Conectando ao servidor
sftp = BotFTPPlugin("<SERVIDOR_FTP>", 22, "<USUARIO>", "<SENHA>")
# Imprime o nome de cada arquivo no diretório de trabalho atual
for arquivo in sftp.get_files_list():
print(arquivo)
# Criando um novo diretório no servidor
sftp.create_directory("pastas/minha_pasta")
# Carregue um arquivo para a pasta criada no servidor
sftp.upload_file("image.png", "pastas/minha_pasta")
# Fecha a conexão com o servidor
sftp.disconnect()