2012-02-14 19 views
8

Digamos que quiero crear un documento con código ingresado por el usuario, llamado spam.txt. Suponiendo que he decir que la entrada del usuario:Crear documento de texto (Python)

input("Is Python Good? ") 

¿Cómo puedo guardar el texto que el usuario introduce en un archivo de texto, y puede uno hacer esto?

+12

Esto está cubierto por el tutorial Python: http://docs.python.org/tutorial/inputoutput.html#reading-and-writing-files. Recomiendo terminar eso, u otro documento similar, antes de llevarlo al SO. – millimoose

+1

"... y ¿se puede hacer esto?" :-) – donkopotamus

+5

Esto me ayudó. No estoy seguro de por qué esto fue cerrado. – razorsyntax

Respuesta

19
f = open('file.txt','w') 
a = input('is python good?') 
f.write('answer:'+str(a)) 
f.close() 

Fácil no? :)

+2

El 'str (a)' parece hacer las cosas demasiado complejas. ¿Podría elegir una versión de Python (3.xo 2.x) y usar 'input' o' raw_input' para simplificar esto? –

+0

¿En qué sentido es demasiado complejo? str (value) es un comando estándar de python, si usas str() en una cadena, no duele, si lo usas en números, los convierte en cadenas que hacen que este fragmento funcione. Este código funciona tanto en la versión 2.7 como en la 3.x, ¿dónde está el problema? – ingframin

+0

Si usa 'raw_input' no necesita' str' en absoluto. Eso sería más simple. Si eliges reclamar que es Python 3 y usas 'input', no necesitas' str' en absoluto. Eso sería más simple. –

8
with open('spam.txt', 'a') as f: 
    f.write(string_output) 
Cuestiones relacionadas