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

 

 


Tema destacado: Curso de javascript por TickTack


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

Desconectado Desconectado

Mensajes: 46



Ver Perfil WWW
Problema escribiendo un archivo en Python
« en: 4 Enero 2012, 16:25 pm »

Muy buenas, creo que el problema que tengo con el script es una tonteria aunque no consigo solucionarlo. :-[


import datetime
Y=(input('Escribe alguna cosa'))
txt=open(logfile, "w").write(datetime.datetime.now().ctime())
logfile.write(Y)

El script crea el archivo y escribe la fecha pero al introducir la variable Y me daAttributeError 'str' object has no atribute 'write'

Espero una solucion, gracias


En línea

La confianza es la base de la elegancia.
$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: Problema escribiendo un archivo en Python
« Respuesta #1 en: 4 Enero 2012, 16:51 pm »

No se nada de python y no comprendo mucho el codigo, pero hablas de problemas de atributos, que archivo estas queriendo escribir? fijate si tiene los atributos de Solo Lectura activado, tendras que sacarlo.


En línea

adastra
Endless Learner
Ex-Staff
*
Desconectado Desconectado

Mensajes: 885


http://thehackerway.com/


Ver Perfil WWW
Re: Problema escribiendo un archivo en Python
« Respuesta #2 en: 4 Enero 2012, 17:30 pm »

El file descriptor no es "logfile", ese es el contenido del fichero (texto) el fichero propiamente dicho es el que te retona la llamada a la función "open()" ese es el problema, estas usando la variable equivocada.
En línea

Trenico

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Problema escribiendo un archivo en Python
« Respuesta #3 en: 4 Enero 2012, 23:25 pm »

Cambia el:

Código
  1. logfile.write(Y)

Por:

Código
  1. txt.write(Y)
En línea

Arnau27

Desconectado Desconectado

Mensajes: 46



Ver Perfil WWW
Re: Problema escribiendo un archivo en Python
« Respuesta #4 en: 5 Enero 2012, 20:55 pm »

Cambia el:

Código
  1. logfile.write(Y)

Por:

Código
  1. txt.write(Y)

Me sigue dando el mismo error no lo entiendo...
En línea

La confianza es la base de la elegancia.
$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: Problema escribiendo un archivo en Python
« Respuesta #5 en: 5 Enero 2012, 21:03 pm »

Leiste lo que te comente yo?
En línea

Jirp96

Desconectado Desconectado

Mensajes: 46


Ver Perfil
Re: Problema escribiendo un archivo en Python
« Respuesta #6 en: 6 Enero 2012, 14:55 pm »

Hola!
Creo que el problema es por como abres el archivo y escribes a la vez, por lo que la variable "que lo contiene"(en tu caso, txt) no tiene nada en su interior.
Código
  1. txt=open(logfile, "w").write(datetime.datetime.now().ctime())
  2.  

Mira esto....
Código
  1. >>> x = open("lala", "w").write("hola")
  2. >>> x
  3. >>> x.write("alal")
  4. Traceback (most recent call last):
  5.  File "<pyshell#7>", line 1, in <module>
  6.    x.write("alal")
  7. AttributeError: 'NoneType' object has no attribute 'write'
  8.  
  9. >>> dir()
  10. ['__builtins__', '__doc__', '__name__', '__package__', 'x']
  11. >>> print x
  12. None
  13.  

Creo que si lo dejas asi deberia bastar.
Código
  1. import datetime
  2. Y=(input('Escribe alguna cosa'))
  3. txt=open(logfile, "w")
  4. txt.write(datetime.datetime.now().ctime())
  5. txt.write(Y)

Por cierto, logfile es una variable que contiene el nombre del archivo a abrir, o es una cadena?(si es asi, faltan las comillas?)
Saludos!
« Última modificación: 6 Enero 2012, 14:59 pm por Jirp96 » En línea

Arnau27

Desconectado Desconectado

Mensajes: 46



Ver Perfil WWW
Re: Problema escribiendo un archivo en Python
« Respuesta #7 en: 8 Enero 2012, 12:46 pm »

Hola!
Creo que el problema es por como abres el archivo y escribes a la vez, por lo que la variable "que lo contiene"(en tu caso, txt) no tiene nada en su interior.
Código
  1. txt=open(logfile, "w").write(datetime.datetime.now().ctime())
  2.  

Mira esto....
Código
  1. >>> x = open("lala", "w").write("hola")
  2. >>> x
  3. >>> x.write("alal")
  4. Traceback (most recent call last):
  5.  File "<pyshell#7>", line 1, in <module>
  6.    x.write("alal")
  7. AttributeError: 'NoneType' object has no attribute 'write'
  8.  
  9. >>> dir()
  10. ['__builtins__', '__doc__', '__name__', '__package__', 'x']
  11. >>> print x
  12. None
  13.  

Creo que si lo dejas asi deberia bastar.
Código
  1. import datetime
  2. Y=(input('Escribe alguna cosa'))
  3. txt=open(logfile, "w")
  4. txt.write(datetime.datetime.now().ctime())
  5. txt.write(Y)

Por cierto, logfile es una variable que contiene el nombre del archivo a abrir, o es una cadena?(si es asi, faltan las comillas?)
Saludos!

Jirp96 gracias por tu ayuda
En línea

La confianza es la base de la elegancia.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema escribiendo en resource
Java
~~ 0 2,387 Último mensaje 31 Mayo 2009, 17:54 pm
por ~~
Escribiendo strings en archivos (python 2.6)
Scripting
Carloswaldo 7 5,493 Último mensaje 5 Enero 2010, 04:28 am
por Carloswaldo
problema escribiendo archivo vb6 api(caracteres raros)
Programación Visual Basic
z_ane_666 4 3,873 Último mensaje 8 Septiembre 2011, 18:02 pm
por x64core
Error escribiendo en un archivo de texto C#
.NET (C#, VB.NET, ASP)
The_Saint 2 3,701 Último mensaje 3 Mayo 2013, 22:59 pm
por The_Saint
Escribiendo un struct en un archivo en binario
Programación C/C++
skan 2 2,823 Último mensaje 13 Agosto 2013, 22:04 pm
por skan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines