Menú

Mostrar Mensajes

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.

Mostrar Mensajes Menú

Mensajes - Arnau27

#11
Gracias crack.
#12
ls=linux
dir=windows
Buenas, he estado buscando, y no encuentro solución. Espero recibir alguna  :rolleyes:
Necesito saber los archivos que hay en una carpeta y añadirlos a una lista. Pense utilizar os.system pero se añade todo a la lista como un solo elemento.

"ls" en python?
#13
Buenas!
El error es muy tonto, pero creo que los errores más tontos son los más difíciles de solucionar :o

Fijate en la variable "indice".

Su valor despues de la primera vuelta del bucle no es 0. Debes declarar en el else o al principio del bucle general que indice es 0, ya que sino solo te pintará el ultimo elemento de la lista. Igualmente aunque delclares una variable en un bucle, no dejes de declararla fuera.
Disfruta!
#14
Buenas, el problema es que el programa no esta bien estructurado.
1. La lista debes colocarla fuera del bucle.
2. Me he dado cuenta que usas "blancos"espacios, es decir que indentas con la tecla espacio. Mejor usa el tabulador te ahorraras problemas.
3. Para eliminar los elementos de la lista haz una funcion con un bucle que vaya eliminando los elementos de la lista. I te recomiendo que uses el pop en vez de delete.
Código (python) [Seleccionar]
def murder():
while len(lista)>0: #Len, cuenta los elementos de la lista
print(lista[0])
lista.pop(0)

Si te das cuenta elimina solo el elemento 0 de la lista, ya que con el bucle, la segunda vez que pase por el pop el elemento 1 se habra convertido en 0.

4. En el else: deberias controlar que el usuario ponga letras ya que sino el programa se rompera. Coloca un elif, como lo que has echo con salir.
5. En los input en los que solo quieras numeros, estaria bien que escribieras que solo aceptas numeros.
Código (python) [Seleccionar]
a=int(input("Solo aceptamos numeros"))

Creo que con estas modificaciones debe funcionar sin problemas.
Espero haberte ayudado, disfruta con python.
#15
Scripting / Re: [Python]Problemas Módulo OS
11 Mayo 2012, 21:15 PM
Cita de: EleKtro H@cker en 11 Mayo 2012, 18:55 PM
En vez de usar un comando PWD propio de Linux, podrías obtenerlo así haciendolo compatible con el resto de OS:

Código (python) [Seleccionar]
import os
r=os.getcwd()
print r


EDITO: Para evitar el código de retorno debes usar popen:

Código (python) [Seleccionar]
import os
r=os.popen("pwd").read()
print r


EDITO2: Busca información acerca de los return codes o exit status, Pero en general:
Salu2
Gracias crack!
#16
Scripting / [Python]Problemas Módulo OS
11 Mayo 2012, 18:44 PM
Muy buenas, espero que puedan responderme.
Código (python) [Seleccionar]
import os
r=os.system("pwd")
print(r)


Al ejecutar este pequeño script me devuelve:
Código (python) [Seleccionar]
/Users/lala
0

No entiendo por que me devuelve un 0 al final. Es un problema ya que si, por ejemplo, necessito saber donde esta este script necessito el print working directory. No solo pasa con el pwd, sino que pasa con todos los comandos asi que intuyo que debe ser del módulo.
Como podría quitar ese 0?
#17
Cita de: polmadur en  4 Mayo 2012, 10:09 AM
una pregunta, que diferencia hay entre input y raw_input? Yo siempre he utilizado el segundo.
Bueno, con raw_input se pueden manejar errores, en cambio con input no. Aunque a partir de la version 3.0 de python, como bien sabe 0x5d, raw_input desaparece i solo queda input que adquiere la capacidad de manejar errores.

Edito: 0x5d Aprovecho para felicitarte por tu trabajo con python.
#18
Scripting / Re: [Python] Error leer archivo
1 Mayo 2012, 10:03 AM
Cita de: 0x5d en  1 Mayo 2012, 08:19 AM
Que versión de Python usas ? , pues en la 2.7 que es una de las más usadas eso daría error... Pero por tu forma de usar el print, debes usar Python 3.X
Pues :
input = para valores numéricos
raw_input = para valores alfanuméricos

Y pues cuando realizas la comparación , la condición igual está errada, pues como indicaba anteriormente... input no es comparable con un texto, y pues al no usar comillas en tu condición, el código entenderá que "no" es una variable y no un string, lo mismo con el "yes".

Bueno ese sería mi aporte :P

Saludos, Javier.

Gracias por tu aporte, efectivamente uso python 3.2. Pero lo que me comentas de raw_input cuando lanzaron la version 3.0, raw_input dejo de existir para convertirse solo en input que hace la funcion de los 2.
Compruebalo aqui: http://docs.python.org/dev/py3k/whatsnew/3.0.html

Alguien sabe alguna solucion diferente a lo que pido?

Edito: Consegui solucionar el problema :) gracias igualmente por todos los aportes. Asi es como quedó.

Código (python) [Seleccionar]
def tri():
global xt
try:
xt=open("reg.txt","r")
tt=xt.read()
xt.close()
return
except IOError:
xt=open("reg.txt","a")
xt.write("registered")
xt.close()
getstarted()

while i:
tri()
break
#19
Scripting / [Python] Error leer archivo
30 Abril 2012, 23:44 PM
Esta es la parte del script donde tengo problemas, lo que quiero esque esta parte del codigo solo se ejecute la primera vez que se ejecute el script. Pense que necesitaria una variable i en funcion de si esta es 0 o 1 se ejecutara esa parte del codigo o no. Como con una variable en el script siempre seria igual a 0 (ejemplo: e=0 , while e<1,e=e+1, *cerramos scipt, volvemos a abrirlo, e vuelve a ser = 0) se me ocurrio que ya que estaba jugando con los archivos txt en este script pues podria incluir la variable en un archiv txt. Pero mi problema viene al intentar leer lo que he escrito, no entiendo porque > UnsupportedOperation: not readable .
Xk no lo puedo leer?

Aclaro: Por si un caso aclaro que cuando abrimos un archivo con "w" para que sea escrito tiene que ser nuevo, es decir que si ya existe no se podra escribir. Para poder escribir en un archivo que ya existe utilizamos a.
Código (python) [Seleccionar]

st=0
xt=open("num.txt", "w")
stt=str(st)
xt.write(stt)

f=xt.read()
lf=int(f)

while lf<1:
startpass=input("To get started you must write a password. ")
sure=input("Are you sure?")
if sure==no:
print("Ok")
elif sure==yes:
tx=open("pass.txt", "a")
tx.write(startpass)
os.remove("num.txt")
xt=open("num.txt", "w")
xt.write("1")
print("Enjoy using SF ;)")
break
else:
pritn("Please write yes or no.")

_
Ademas de intentar solucionar este problema de lectura de archivos (que no entiendo ya que en una de las funciones que uso en el script lo puedo leer :S) espero que me aconsejen sobre otras formas de hacerlo que no sea la de 0 i 1 en un archivo txt.

Gracias.




Elektro H@cker: Usa el botón "Insertar código"
#20
Scripting / Re: Problema al instalar python
11 Abril 2012, 15:44 PM
No estoy puesto en la programación orientada a objetos pero segun veo en la screenshot el programa QT intenta dirigirse a un lugar dentro de la carpeta de python. Seguramente el problema este en QT que no se ha instalado en el lugar correcto. O puede ser que no tengas instalado Pyqt4.