tengo la sensación de que escribo en arameo, no importa nada que ponga
1) deberías saber que devuelve(tipo) cmd.stdout
for line in cmd.stdout:
print(type (line))
5)debuggeando el código no es tan difícil.
>>> <class 'bytes'>
lo cual me lleva a:
import subprocess
cmd = subprocess.Popen('netsh wlan show networks mode=BSSID',
shell=True, stdout=subprocess.PIPE)
for line in cmd.stdout:
l = line.strip().split(":")
>>> builtins.TypeError: 'str' does not support the buffer interface
¿y dónde esta map?
ahhhhh, ahora veo, map no tiene nada que ver!!!!
hay tantas soluciones que da asco, pero solo voy a mostrarte una posible, porque en realidad parece que no te interesa aprender, sólo copiar.
for line in cmd.stdout:
linea= line.decode("cp1252")
l = linea.strip().split(":")
print(l)
print(type(l))
>>> <class 'list'>
milagro!!! ya devuelve una lista y no da el error!!!
pero... no es código original, bueno
linea= line.decode("cp1252")
l = map(lambda x: x.strip(), linea.strip().split(":"))
print(l)
print(type(l))
>>> <map object at 0x0267B5D0>
>>> <class 'map'>
2)la diferencia de map entre las versiones es que en 3.x devuelve un objeto, lo cual se solventa pasandolo a lista
o sea, ¿algo así?
l = list(map(lambda x: x.strip(), linea.strip().split(":")))
print(type(l))
>>> <class 'list'>
guauuuu lo que es la ciencia!!!!
pero....
3)igual si map no te gusta(en 3.x algunos lo desprecian) podés usar compresión de listas
¿en que idioma está eso? no sé, pero buscando un poco en google
l = [x.strip() for x in linea.strip().split(":")]
print(type(l))
y da lo mismo!!!, ah no, para, no puse los resultados de l, bueno si llegas a entender esto, poné print(l) y miralo vos.
4)y más importante ¿que querés solventar? ¿dónde pusiste el error que te da? salvo como dije lo quieras cambiar.
que bueno que entre algunos puntos, este se entendió!
Como bien dices al ser cmd.stdout me genera este error:
l = map(lambda x: x.strip(), line.strip().split(":"))
TypeError: 'str' does not support the buffer interface
Trato de hacer un cast a map pero si lo hago me genera el mismo error. Realmente no controlo la funcion map y eso es lo que me esta generando el problema.
y como dije antes¿que tiene que ver map?
en fin suerte en tu copia y pega de código, ahhh usa python 2.7 y te ahorrás aprender 3.X
Saludos.