[Python] Ayuda linux

Iniciado por carlos.foroelhaker, 28 Mayo 2012, 22:23 PM

0 Miembros y 1 Visitante están viendo este tema.

carlos.foroelhaker

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.

Código (python) [Seleccionar]


#!/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

overxfl0w13

Puedes probar con esto, aunque no haga uso del módulo os :)
Código (python) [Seleccionar]
#!/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 :)
[/url]