Hola estoi haciendo un script en bash
lo que pasa esque llego a un momento que el prompt de la terminal de ubuntu
me pide la contraseña y la tengo que introducir pero quiero hacer que todo el proceso sea automatizado asi que me gustaria saber
como enviar un valor o una cadena de texto al prompt del sistema.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
servidor="ftp://ftp.uv.es/"
os.system("sudo lftp -u " + servidor)
ahora con este pequeño script se puede acceder al servidor pues ahora quiero hacer un get para descargarme cualquier fichero pero sin tener que escribir el nombre del fichero que lo haga automaticamente el script
por ejemplo si hay un fichero que se llame " musica "
hacer que el script el envie al prompt get musica
Puedes probar con esto, aunque no haga uso del módulo os :)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import ftplib
class ftp:
def __init__(self):
self.ftp = raw_input("ftp>")
try:
self.conect = ftplib.FTP(self.ftp)
except:
print "No existe el ftp"
self.login()
def login(self):
self.user = raw_input("user>")
self.passw = raw_input("pass>")
try:
self.conect.login(self.user,self.passw)
except:
print "No son correctos"
self.x = 0
self.descarga()
def descarga(self):
for self.archivo in self.conect.nlst():
self.archivolocal = open("archivo"+str(self.x),"w")
self.conect.retrbinary('RETR '+self.archivo,self.archivolocal.write)
self.x += 1
self.archivolocal.close()
if __name__ == "__main__":
root = ftp()
root
Si el ftp está dividido en carpetas, no te lo va a dar por válido, únicamente lo hará si existen solo archivos :)