Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Arnau27 en 11 Mayo 2012, 18:44 pm



Título: [Python]Problemas Módulo OS
Publicado por: Arnau27 en 11 Mayo 2012, 18:44 pm
Muy buenas, espero que puedan responderme.
Código
  1. import os
  2. r=os.system("pwd")
  3. print(r)

Al ejecutar este pequeño script me devuelve:
Código
  1. /Users/lala
  2. 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?


Título: Re: [Python]Problemas Módulo OS
Publicado por: Eleкtro 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
  1. import os
  2. r=os.getcwd()
  3. print r

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

Código
  1. import os
  2. r=os.popen("pwd").read()
  3. print r

EDITO2: Busca información acerca de los return codes o exit status, Pero en general:
Citar
0 = El comando finalizó correctamente sin errores-
(cualquier otro número) = Error.

Salu2


Título: Re: [Python]Problemas Módulo OS
Publicado por: Arnau27 en 11 Mayo 2012, 21:15 pm
En vez de usar un comando PWD propio de Linux, podrías obtenerlo así haciendolo compatible con el resto de OS:

Código
  1. import os
  2. r=os.getcwd()
  3. print r

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

Código
  1. import os
  2. r=os.popen("pwd").read()
  3. print r

EDITO2: Busca información acerca de los return codes o exit status, Pero en general:
Salu2
Gracias crack!