Python - Problema al almacenar valor en una variable.

 
Vista:
sin imagen de perfil

Problema al almacenar valor en una variable.

Publicado por Adrian (3 intervenciones) el 03/04/2018 20:35:44
Buenas tardes a todos, lo primero que voy a hacer es presentarme. Me llamo Adrián y he decido meterme en el mundo de la programación dado que actualmente estoy estudiando para ser administrador de sistemas.

Me acabo de iniciar en Python hoy mismo y me he encontrado con un problema, quiero almacenar el valor de un comando en una variable y no soy capaz...me explico:

Estoy intentando almacenar la fecha actual del sistema del S.O Windows y lo único que consigo es que se ejecute el comando y no se quede almacenado. Dejo captura para más detalles...a ver si alguien se anima a quitarme esta duda que me esta matando.

Muchísimas gracias!

Captura
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de José María
Val: 819
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Problema al almacenar valor en una variable.

Publicado por José María (245 intervenciones) el 04/04/2018 13:45:38
Prueba con lo siguiente :)


1
2
3
import datetime
hoy = datetime.date.today().strftime('%d/%m/%Y')
print hoy
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Problema al almacenar valor en una variable.

Publicado por Adrian (3 intervenciones) el 04/04/2018 15:40:09
Muchísimas gracias por tu respuesta, pero el problema no lo tengo realmente en como almacenar la fecha actual en una variable, si no en como utilizar dicho valor de la variable en un comando de Windows...dado que cualquier variable que utilice no lo reconoce.

Por ejemplo, he almacenado en una variable los segundos que utilizare con el comando shutdown /s /t "variable_segundos" y no funciona.

Pues esto me va a pasar siempre con este lenguaje a no ser que de con una solución que me resuelva el problema.

Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 1.120
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Problema al almacenar valor en una variable.

Publicado por kip (257 intervenciones) el 04/04/2018 19:52:37
Hola, te recomiendo dejar de usar el metodo system() del modulo os, es mejor usar el modulo subprocess que provee metodos para trabajar en la ejecucion de procesos externos de manera mas eficiente, en tu caso se podria usar el metodo check_output que es el mas simple, algo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>>> import subprocess
>>> limit = 10
>>> output = subprocess.check_output('FOR /L %%n in (1, 1, %s) do @echo %%n' % limit, shell=True)
>>> print(output)
b'1\r\n2\r\n3\r\n4\r\n5\r\n6\r\n7\r\n8\r\n9\r\n10\r\n'
>>> print(output.decode())
1
2
3
4
5
6
7
8
9
10

Si te fijas el método me retorna un bytes string, que para mostrarlo de manera correcta lo debo decodificar, no entrare en detalles porque la documentación es muy clara con estos detalles https://docs.python.org/3/library/subprocess.html#subprocess.check_output
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Problema al almacenar valor en una variable.

Publicado por Adrian (3 intervenciones) el 05/04/2018 09:46:27
Gracias kip, le echare un ojo! :P
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar