Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Páginas1
#1
Python / Re:Sencillo cliente FTP
Julio 02, 2020, 06:44:42 PM #2
Python / Re:Sencillo cliente FTP
Julio 02, 2020, 04:59:15 AMYou are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or LoginGracias por tu opinión animanegra, la próxima vez intentaré hacerlo desde el módulo socket para ver cómo me queda.
Igual como siguiente paso, podrias programar el cliente ftp sin la libreria ftp. Utilizando sockets y viendo como es el estandar para hacer una implementacion tuya.
Igual no es cuestion de hacer todo el standard pero podrias implementar parte de las acciones que hace el cliente. Podrias incluir algo asi como una parte grafica. Las aplicaciones graficas siempre motivan un monton mas que las aplicaciones de linea de comando, al menos al principio.
Es solo una idea, la cuestion es seguir programando y aprendiendo.

Enviado desde mi Redmi 8 mediante Tapatalk
#3
Python / Sencillo cliente FTP
Julio 02, 2020, 02:45:50 AM
Hola a todos/as!
Esta es mi primera entrada aquí y quería compartir con vosotros un sencillo cliente para un servidor FTP. Estoy aprendiendo a programar en Python y pensé que una buena manera de aprender es compartir mi código y mirar las opiniones de los demás para ir acumulando ideas y consejos.
Un saludo!
Código: python
Esta es mi primera entrada aquí y quería compartir con vosotros un sencillo cliente para un servidor FTP. Estoy aprendiendo a programar en Python y pensé que una buena manera de aprender es compartir mi código y mirar las opiniones de los demás para ir acumulando ideas y consejos.
Un saludo!
from ftplib import FTP
import os
from getpass import getpass
class ftpClient():
def __init__(self):
while True:
try:
self.host = str(input("Host address: "))
self.ftp = FTP(self.host)
print(self.ftp.getwelcome())
break
except:
print("Couldn't connect to host")
pass
self.user = input("Username: ")
self.passwd = getpass()
self.ftp.login(self.user, self.passwd)
def menu(self):
os.system("cls")
print("""
___ _____ ___ ___ _ _
( _`\ (_ _)( _`\ ( _`\ (_ ) _ ( )_
| (_(_) | | | |_) ) | ( (_) | | (_) __ ___ | ,_)
| _) | | | ,__/' | | _ | | | | /'__`\/' _ `\| |
| | | | | | | (_( ) | | | |( ___/| ( ) || |_
(_) (_) (_) (____/'(___)(_)`\____)(_) (_)`\__)
1. Download Files for FTP server
2. Upload Files for FTP server
""")
#LLama al metodo menu() para despues pregunta la opción que deseamos, valida el valor de entrada y llama al metodo correspondiente.
def main(self):
self.menu()
while True:
self.option = int(input("What is your option? > "))
if self.option == 1:
self.downloadFile()
break
elif self.option == 2:
self.uploadFile()
break
else:
print("Incorrect options, try again!")
# Imprime archivos y directorios remotos, descarga el contenido del fichero citado y lo copia a uno nuevo.
# Por ultimo imprime el contenido del directorio local
def downloadFile(self):
self.ftp.retrlines("LIST")
self.file = str(input("Which file? > "))
try:
self.ftp.retrbinary("RETR " + self.file, open(self.file, "wb").write)
print(os.listdir())
print("Succesful download")
except:
print("An error ocurred :(")
#Imprime los archivos locales del directorio en el que nos encontramos, abrimos el archivo en modo lectura binario para luego pasarlo ....
#Como parametro de ftp.storbinary para subirlo después.
def uploadFile(self):
print(os.listdir())
self.file = str(input("Which file > "))
self.open = open(self.file, "rb")
try:
self.ftp.storbinary("STOR " + self.file, self.open)
self.ftp.retrlines("LIST")
print("Succesful upload!")
except:
print("An error ocurred")
if __name__ == "__main__":
client = ftpClient()
client.main()
Páginas1

