elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12
81  Programación / Scripting / [Python] Subir archivos a ftp.. ¿Por qué carajos pasa esto? en: 24 Agosto 2016, 01:45 am
Buenas a to2! Como siempre, primero comentaré mi caso y despues expondré mis preguntas....

Llevo unos días dandole al python aver si avanzo algo..; he comenzado un proyecto.. (quizás a mucha gente le resultará inutil; ami me fascina) de crear un Administrador de Archivos con algunas funciones guapas...
En si; no es un administrador de archivos por comandos tán rudimentario como el que incluye la CMD con los comandos cd..ls..etc (aunque los usa en el código)
En si; es un administrador de archivos de fácil utilidad; te marca las opciones en un menú y los archivos cada uno con una id... algo bastante fácil...

He creado ya la opción de entrar en ficheros; y el de ir a la carpeta principal (/) .en un principio será para windows y linux; sólo que esta hecho mas que nada para ir tirando en linux. (Por la raíz)

Seguramente; mis técnicas de programacion seran muy novatas para vuestro nivel; ya que no llevo ni un mes en python.. pero espero que podáis entender el codigo...

Ahora expongo mi pregunta!!
El caso es; que quería implementar la opcion 6; que es la de subir un archivo a un servidor FTP. tengo montado un servidor FTP; y he creado un script aparte; en otro archivo, el cual me sube los archivos al servidor FTP sin ningun problema. el caso; es que cuando lo he ido a meter a la opcion 6 (if opcion_administrador == '6') me salta el siguiente error:

Citar
File "Explorador.py", line 140, in <module>
    ftp.storlines('STOR %s'%nombre_archivo, open(nombre_archivo, 'r'))
TypeError: an integer is required

A continuación os dejo los códigos para que los probeis vosotros mismos. Cambien IP y PORT por la ip y el puerto del servidor; y USER Y PASS por la contraseña.. (por si las moscas eje eje)

¡CODIGO DEL SCRIPT QUE SUBE UNICAMENTE ARCHIVO AL FTP¡ (funciona)
Código:
from ftplib import FTP
from subprocess import call

nombre_archivo = str(raw_input('Introduce la raiz completa del archivo (EJ: /root/Escritorio/archivo.txt)'))
ftp = FTP()
ftp.connect('ip', port, -999)
ftp.login('user', 'pass')
ftp.storlines('STOR %s'%nombre_archivo, open(nombre_archivo, 'r'))





¡CODIGO DEL PROGRAMA ENTERO QUE SALTA EL ERROR ANTERIORMENTE MENCIONADO AL PULSAR LA OPCION 6 E INTRODUCIR LA RUTA! (En negrita donde surge el error)

Código:
# -*- coding: utf-8 -*-
from ftplib import FTP
from os import *
from subprocess import *
from sys import *


espacio = ' '
gbajo = '_'
v = version

# Pantalla de inicio
print "Bienvenido a la beta cerrada del explorador de archivos"
print "Desarrollado por la comunidad abierta 8noobs"
print "más info en: www.8noobs.hol.es"
print "\nTu versión de python es:\n%s"%v
pausa = raw_input('\tpulsa enter para continuar')

# Comienza el programa
system("clear")
## En esta parte pregunta la version, es muy importante
print 'Termina de configurar el Explorador para que funcione correctamente.'
sistema_operativo = str(raw_input('Introduce "windows" o "linux dependiendo de tu sistema operativo\t'))
while sistema_operativo != 'linux' and sistema_operativo != 'windows':
    sistema_operativo = str(raw_input('Introduce "windows" o "linux"'))
if sistema_operativo == 'linux':
    raiz = '/'
    seguir = str(raw_input('Quiere escanear los archivos del directorio raíz?\t'))
elif sistema_operativo == 'windows':
    raiz = 'C:\\'   #Creo que aqui esta mal. testear en windows
    seguir = str(raw_input('Quiere escanear los archivos del directorio raíz?\t'))
###Ahora ya ha elegido variable a sistema_operativo, y dependiendo de cual
###eligira la raiz correcta; y la introducira en la variable raiz

# Aqui comienza el bucle del programa
while seguir == 'si':
    call('clear')
    print '###################################################################'
    print '#Raiz actual: %s#'%raiz
    print '##################################################################'
    proceso = Popen(['ls',raiz], stdout=PIPE, stderr=PIPE)
    error_econtrado = proceso.stderr.read()
    proceso.stderr.close()
    listado_string = proceso.stdout.read()
    proceso.stdout.close()
    listado_lista = listado_string.split('\n')
    clave_archivo = 0


## Bien, vamos a ver. lo que hace esto es hacer un clear en pantalla
## despues se ejecuta el comando ls con su respectiva raiz
## C: o / dependiendo del sistema. aunque mas adelante se le añadira mas
## a la raiz. despues retorna el resultado de ls+raiz a un string unico llamado
##listad_string y separa el contenido en una lista en la variable listado_lista

####Ahora viene la acción de enseñar los archivos en pantalla


    for nombre_archivo in listado_lista:
        if clave_archivo == 0:
            print '0 ) -> %s'%listado_lista[0]
            clave_archivo += 1
        else:
            print '%d ) -> %s'%(clave_archivo,nombre_archivo)
            clave_archivo += 1

    cantidad_archivos = len(listado_lista)
    print 'se han encontrado %s archivos y/o directorios \n(el ultimo numero representa al directorio padre)'%cantidad_archivos
##### Aqui ya habrá mostrado los archivos. ahora debe aparecer el menu para elegir
##### la opción deseada. Entre ellas estará entrar en un directorio

###Aquí se muestra el menú de opciones despues de escanear los archivos
    print ''
    print '##################################'
    print '##  Opciones del administrador  ##'
    print '##################################'
    print ''
    print '1) Entrar en un directorio'
    print '2) Ir a la carpeta principal'
    print '3) Copiar un archivo en una ruta absoluta'
    print '4) ver permisos de un archivo/directorio'
    print '5) cambiar permisos de un archivo/directorio'
    print '6) Enviar archivo a servidor FTP'
    opcion_administrador = str(raw_input('-> Introduce el numero de la opcion elegida: '))

## En la linea de arriba, pide el valor de la variable opcion_administrador.
## dependiendo de ese valor, ejecutara una opcion del menu u otra

######### Opcion 1
    if opcion_administrador == '1':
        directorio_elegido = int(raw_input('Introduce el nombre del archivo a entrar:\t'))

######### Si el numero introducido es el ultimo archivo, borrará la variable ultimo_archivo
######### La variable ultimo_archivo se almacena una vez entras en un archivo.
######### Hay que pensar una manera mejor, para poder almacenar todas las partes
######### de la raiz y asi poder ir hacia atras desde cualquier carpeta
######### (por ahora solo se puede ir hacia atras una vez, ya que solo se almacena una vez
######### la variable ultimo_archivo
        if directorio_elegido == cantidad_archivos-1:
            print 'se eliminara el siguiente archivo de la ruta "%s"'%ultimo_archivo
            raiz = raiz.strip(ultimo_archivo)
########### y si el numero de directorio es un directorio real,se añadira / o \ ependiendo de
########### si es windows o linux, y seguidamente se le añadira el directorio elegido al string
########### de la variable raiz. para cuando se vuelva a repetir el bucle while del principio
########### Esta vez, haga el comando "ls" dentro de la raiz dictada nuevamente
        else:
            if sistema_operativo == 'linux':
                raiz += '/'
            elif sistema_operativo == 'windows':
                raiz += '\\'
            ### aqui hay que poner bien el separador de windows, no se si lo coloque bien
            raiz += listado_lista[directorio_elegido]
            ultimo_archivo = listado_lista[directorio_elegido]
        raiz = str(raiz)
        print 'El directorio seleccionado es "%s"'%listado_lista[directorio_elegido]
        seguir = str(raw_input('pulse enter para continuar'))
        seguir = 'si'



#########opcion 2
    if opcion_administrador == '2':
        if sistema_operativo == 'linux':
                raiz = '/'
        elif sistema_operativo == 'windows':
                raiz = 'C:\\'





######### Opcion 6


[b] if opcion_administrador == '6':
        nombre_archivo = str(raw_input('Introduce la raiz completa del archivo (EJ: /root/Escritorio/archivo.txt)'))
        ftp = FTP()
        ftp.connect('ip', port, -999)
        ftp.login('user'', 'pass')
        ftp.storlines('STOR %s'%nombre_archivo, open(nombre_archivo, 'r'))[/b]




os dejo un video del script por si alguien no lo entiende como va...
82  Programación / Scripting / Re: [Python] ¿Se podría crear un script para iniciar sesion en EHN? en: 24 Agosto 2016, 01:30 am
Bueno... por ahora veo la opción más facil hacer lo de recordar contraseña y un bookmark en firefox para los foros....

Y bueno; para contestar a la pregunta de por que hago eso... mas que nada; curiosidad y ganas de intentar aprender..
83  Foros Generales / Foro Libre / Re: juguemos a ser el genio en: 23 Agosto 2016, 09:12 am
no deseará cosas subrealistas, pero te deseará a ti, princeso. ;* ;* ;* ;*

Deseo que habléis mpor el grupo y encontrar un maldito cigarro para hacer magia! (Donde los he dejado..)
84  Programación / Scripting / [Python] ¿Se podría crear un script para iniciar sesion en EHN? en: 23 Agosto 2016, 09:03 am
Buenas a todos. como siempre, primero os cuento mi situación y despues expongo las preguntas.


La cuestion, yo participo en varios foros (no me los pidáis.. jeje, que cada uno se busque sus habichuelas que después vienen problemas..je jeeee) bueno, mas que participar, me voy pasando a leer.
Obviamente; cada vez que quiero iniciar sesion en mi cuenta, tengo que abrir una nueva pestaña.. introducir mis datos...etc... y eso es muy aburrido.

El caso es. ¿Podría crear un script que inicie sesion automaticamente?

Esa es mi duda. No sé si en python habrá alguna manera de hacerlo "lógicamente", yo había pensado en una manera muy cutre, y ni se si se puede hacer.. (Yo no entiendo de php)
El caso es, si no hubiese una manera mas facil, crear un script que cree un codigo php ya predeterminado anteriormente, el cual sea el mismo código del login, pero en la parte de introducir los datos y contraseña, que ya esten puestos dentro del codigo (supongo que se podría hacer, si no, perdón por desvariar tan tempranito...) y despues abrir ese archivo...

Claro; esa manera sería muy jodidamente cutre, y igualmente no se enviaría el archivo, si no se abriria la pestaña con los logins ya introducidos.. pero solo sería darle a conectar...


Bueno, espero que podais resolver mi duda! y salu3 tetes
85  Foros Generales / Dudas Generales / Re: acceder a computadores de mi salón en: 23 Agosto 2016, 08:56 am
exácto.. siempre pide permiso antes al administrador de la red si puede ser.. ya que si no; te podrías meter en algun que otro problema bastante gordo.. (o no, je jeeeeeee  :-X) pero el caso es que es mejor pedir permiso al administrador y tal...
86  Informática / Hardware / Re: Problemas con los FPS y tarjeta gráfica en: 23 Agosto 2016, 08:54 am
buenas!
Así de primeras, no sé cual puede ser tu problema exactamente. pero quizás te ha pasado como me pasó a mi.

Yo cuando me compré mi portatil (Nvidia 720....4ram...etc) e intenté probar la gráfica jugando a algo, en windows tuve que instalar un programa oficial de la gráfica para que me corriera a 100% y me iniciase los juegos con la gráfica puesta y no la integrada.

Que tal si revisas si tienes todos los drivers y programas necesarios para tu grafica, y nos cuentas después? :D!


salu3
87  Foros Generales / Dudas Generales / Re: ¿Quiero crear un servidor en mi casa, que hago? [DUDA] en: 23 Agosto 2016, 08:41 am
Buenas!!
A respuesta de lo de que tengo que abrir los puertos.. ya, es algo que tengo asumido, no obstante solo los he abierto para hacer pruebas, despues los volvi a configurar como por defecto...

Con respuesta a lo demás, me instalaré primero un filezilla en mi PC de pruebas (laptop) ya que la pantalla que tenía (digo tenía, por que no sabía que estaba rota hasta ayer que fuí a usarla) y no montaré todavia nada en un ordenador de los fijos..

He probado algo de filezilla, pero me saltaba error.. (creo que tenia algo mal configurado, lo hice por la noche y con sueño). lo volveré a mirar en un día de estos!!!



saludos  y gracias!!!
88  Foros Generales / Foro Libre / Re: juguemos a ser el genio en: 21 Agosto 2016, 17:30 pm
Concedido, pero se te caerá al agua en cuanto lo abras de la caja.
Deseo terminar mi script de python .
89  Foros Generales / Dudas Generales / ¿Quiero crear un servidor en mi casa, que hago? [DUDA] en: 21 Agosto 2016, 16:39 pm
Bueno. primero de todo comentare mi duda.
Llevo un tiempo con unos ordenadores antiguos en casa, me sobran unos cuantos componentes y modulos de ram. Llevan tiempo cogiendo polvo en el armario así que he pensado que podría comenzar a darles algún uso.
Por ahora se me había ocurrido un servidor ftp privado.. (No conozco muchos terminos.. lo poco que he dado en el grado medio, por mi cuenta no he tocado nada de esto, asi que desconozco mucho..)

Dispongo de algunos ordenadores.. aunque los modulos son muy antiguos (512MB la mayoría) con lo que no podría montar ninguno con mas de... 1,5GB de ram. las gráficas la mayoría son integradas.. pero tengo una o dos (no muy buenas) para ponerselas a los ordenadores que vaya a utilizar.

En principio, solo quiero montar un servidor.. pero ya iría haciendo experimentos más adelante..
el uso que le quedría dar es... poder almacenar algun archivo desde cualquier lugar del mundo con usuaario y contraseña (un ftp normal) aunque.. acepto cualquier idea, es más, necesito ideas para montar algo.. tambien intentaría atacarme ami mismo para aprender algo de seguridad ....

Entonces, yo ahora tengo algunas dudas...
primero; ¿Qué necesitaría? osea, he visto que hay servidores que son sistemas operativos... también he visto programas que te crean servidor ftp... y bueno.. yo no sé, estoy dudando en que hacer....

Segundo, ¿Cómo tendría que hacerlo?, ¿Qué tndría que instalar..?
el caso es que estoy MUY perdido todavía en el tema
Si alguien con conocimientos le parece bien abrirme un poco mas los ojos en el tema y ayudarme, estaré muy agradecido! acepto cualquier respuesta, documento, pdf o pagina que me pueda ayudar!!! :D


90  Comunicaciones / Dispositivos Móviles (PDA's, Smartphones, Tablets) / DUDA: Cómo cambiar de sistema operativo. en: 7 Agosto 2016, 11:46 am
Buenas a todos. antes de continuar con el post; creo que deberia resaltar que NUNCA he tocado nada de android, como mucho un formateo de fabrica mirando videos de youtube.

El caso es que; hace 1 año se me "rompió" una tablet; y sólo muestra la pantalla de inicio (ahora crearé un post pidiendo ayuda), y tengo otro móvil que me venia con malware desde que lo compré. (el mismo s.o del móvil tiene 3 APPS malwares, 1 troyano y 2 de publicidad.)

El caso; quedría aprender sobre cómo cambiarle el sistema operartivo al móvil..

Supongo que cada móvil/tablet será diferente de formatear; pero habrá algunos conocimientos básicos o procesos que hay que seguir para su correcto formateo. No estoy buscando un tutorial de cómo formatear mi móvil. estoy buscando alguna manera de comenzar a aprender cómo se cambia de s.o cualquier móvil. me gustaría que alguien me resolviese la duda. Gracias!
Páginas: 1 2 3 4 5 6 7 8 [9] 10 11 12
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines