[Python-es] Imprimir string formatada

Alejandro Ab aagustinb en gmail.com
Lun Dic 1 20:04:55 CET 2014


Buenas noches,

estoy haciendo un programa que lea la salida de una instrucción ejecutada
en un terminal Debian.

El problema es que el cuando *imprimo* por pantalla el string retornado me
aparece algo similar a esto:

*b'*BSS 8c:0c:a3:2c:eb:0a (on wlan0) --  0*\n\t\t* * L-SIG TXOP Prot: 0
*\n\t\*t * PCO active: 0\n\t\t *  AIFSN 7*\n\t\t* * VI: CW 7-15, AIFSN 2,
TXOP 3008 usec*\n\t\t* * VO: CW 3-7, AIFSN 2, TXOP 1504 usec\n'

con el b inicial que no se que es y todos los saltos de linea impresos como
caracteres, como si hubieran pasado toda la string por un repr().

Me preguntaba si alguien sabe que estoy haciendo mal, o si, a modo de
chapuza, conocéis alguna función reversa de repr()

Cualquier sugerencia sera bienvenida.

----------------------------------------------------------

import subprocess as sp
devname = "wlan0"

channel = [2412, 2417, 2422, 2427, 2432, 2437, 2442, 2447, 2452, 2457,
2462, 2467, 2472, 2484]
loc_max_channel = 13

# Set up the command
for ch in range(0, loc_max_channel):
    # Para cada canal ejecuta y imprime la instruccion
    p1 = sp.Popen(['iw', 'dev', devname, 'scan', 'freq', str(channel[ch])],
stdout=sp.PIPE)
    output = p1.communicate()[0]
    print(output)
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20141201/5094e5bb/attachment.html>


Más información sobre la lista de distribución Python-es