Hola me gustaría convertir un texto en una tupla o lista. El texto lo e sacado de aquí:
Código:
import os
passwd=os.system("cat /etc/passwd | tail -1")
Ahora que tengo la variable passwd con el texto que quiero, ¿Como lo convierto en una tupla o lista?
Hola Sergio, bienvenido.
os.system() es un método poco recomendado para ejecutar comandos del sistema, especialmente si querés obtener el resultado, porque siempre retorna uno o cero. De hecho, verás que en tu código
passwd es siempre cero.
La alternativa más conveniente es usando el módulo estándar
subprocess:
Código:
import subprocess
cmd = "cat /etc/passwd | tail -1"
p = subprocess.run(cmd, shell=True, stdout=subprocess.PIPE)
passwd = p.stdout
Te dejo este artículo para profundizar sobre el tema:
https://recursospython.com/guias-y-manua...-procesos/.
Saludos
(15-08-2018, 06:29 PM)Francisco escribió: [ -> ]Hola Sergio, bienvenido.
os.system() es un método poco recomendado para ejecutar comandos del sistema, especialmente si querés obtener el resultado, porque siempre retorna uno o cero. De hecho, verás que en tu código passwd es siempre cero.
La alternativa más conveniente es usando el módulo estándar subprocess:
Código:
import subprocess
cmd = "cat /etc/passwd | tail -1"
p = subprocess.run(cmd, shell=True, stdout=subprocess.PIPE)
passwd = p.stdout
Te dejo este artículo para profundizar sobre el tema: https://recursospython.com/guias-y-manua...-procesos/.
Saludos
Muchas gracias por tu ayuda, pero ¿como consigo convertir el resultado del comando cat en una tupla o lista?
Supongo que lo que querés es separar la cadena en múltiples elementos según un delimitador. Esto se puede hacer con el método
split().
Código:
>>> s = "A,B,C"
>>> t = s.split(",")
>>> t
['A', 'B', 'C']
(16-08-2018, 12:22 AM)Francisco escribió: [ -> ]Supongo que lo que querés es separar la cadena en múltiples elementos según un delimitador. Esto se puede hacer con el método split().
Código:
>>> s = "A,B,C"
>>> t = s.split(",")
>>> t
['A', 'B', 'C']
Muchas gracias por tu apoyo de nuevo!!