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)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Python] Error leer archivo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python] Error leer archivo  (Leído 3,552 veces)
Arnau27

Desconectado Desconectado

Mensajes: 46



Ver Perfil WWW
[Python] Error leer archivo
« en: 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
  1. st=0
  2. xt=open("num.txt", "w")
  3. stt=str(st)
  4. xt.write(stt)
  5.  
  6. f=xt.read()
  7. lf=int(f)
  8.  
  9. while lf<1:
  10. startpass=input("To get started you must write a password. ")
  11. sure=input("Are you sure?")
  12. if sure==no:
  13. print("Ok")
  14. elif sure==yes:
  15. tx=open("pass.txt", "a")
  16. tx.write(startpass)
  17. os.remove("num.txt")
  18. xt=open("num.txt", "w")
  19. xt.write("1")
  20. print("Enjoy using SF ;)")
  21. break
  22. else:
  23. 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"


« Última modificación: 30 Abril 2012, 23:54 pm por EleKtro H@cker » En línea

La confianza es la base de la elegancia.
mael0c

Desconectado Desconectado

Mensajes: 34



Ver Perfil
Re: [Python] Error leer archivo
« Respuesta #1 en: 1 Mayo 2012, 00:48 am »

Hola!
Al abrir el fichero en modo escritura no te deja leerlo. Tienes que cerrarlo y después volver a abrirlo en modo lectura.


En línea

0x5d

Desconectado Desconectado

Mensajes: 241



Ver Perfil WWW
Re: [Python] Error leer archivo
« Respuesta #2 en: 1 Mayo 2012, 08:19 am »

Hola, buen día !

Recuerda es no es una buena práctica abrir archivos (open()) y no usar close()
Otra cosa que me llama la atención de tu código es esto:
Código
  1. sure=input("Are you sure?")
  2. if sure==no:
  3. print("Ok")
  4. elif sure==yes:
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.
En línea

¡ SIGUEME EN TWITTER -> @JavierEsteban__ !
Arnau27

Desconectado Desconectado

Mensajes: 46



Ver Perfil WWW
Re: [Python] Error leer archivo
« Respuesta #3 en: 1 Mayo 2012, 10:03 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
  1. def tri():
  2. global xt
  3. try:
  4. xt=open("reg.txt","r")
  5. tt=xt.read()
  6. xt.close()
  7. return
  8. except IOError:
  9. xt=open("reg.txt","a")
  10. xt.write("registered")
  11. xt.close()
  12. getstarted()
  13.  
  14. while i:
  15. tri()
  16. break
  17.  
« Última modificación: 1 Mayo 2012, 10:09 am por Arnau27 » En línea

La confianza es la base de la elegancia.
0x5d

Desconectado Desconectado

Mensajes: 241



Ver Perfil WWW
Re: [Python] Error leer archivo
« Respuesta #4 en: 1 Mayo 2012, 11:39 am »

:P Si sé que en Py 3.X cambia el input y raw_input() solo quería saber tu versión de Python para saber si estabas usando bien el input o no :P
En línea

¡ SIGUEME EN TWITTER -> @JavierEsteban__ !
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Python- Leer línia archivo bucle[Solucionado]
Scripting
¨°o.O (ßa¢Kg|姧) O.o° 7 5,260 Último mensaje 27 Marzo 2010, 17:25 pm
por h0oke
[Python] Leer archivo HTML ?
Scripting
emma93 2 5,174 Último mensaje 2 Octubre 2010, 05:08 am
por emma93
Error al leer un fichero de texto en Python « 1 2 »
Scripting
CaronteGold 17 8,803 Último mensaje 20 Diciembre 2010, 20:26 pm
por CaronteGold
leer archivo con python
Scripting
poeta3d 1 2,317 Último mensaje 18 Diciembre 2011, 04:53 am
por 0x5d
Error al querer leer el último registro en archivo .txt [python] « 1 2 »
Scripting
DanielPy 16 4,469 Último mensaje 31 Marzo 2018, 08:38 am
por Avispon99
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines