Problem z "subprocess"

0

Hejka, Ktoś może podpowie jak przerobić ten kod by działał poprawnie?
Windows 7 pro
Python 3.7
Kod błędu: UnicodeDecodeError: 'ascii' codec can't decode byte 0x88 in position 33: ordinal not in range(128) (chodzi o dokładnie ten fragment kodu: results = results.decode("ascii"))

import subprocess

results = subprocess.check_output(["netsh", "wlan", "show", "network"])

results = results.decode("ascii")
results = results.replace("\r","")
ls = results.split("\n")
ls = ls[4:]
ssids = []
x = 0
while x < len(ls):
    if x % 5 == 0:
        ssids.append(ls[x])
    x += 1
print(ssids)
0

results = results.decode("utf-8") a jak ustawisz na utf-8 to zadziała?

0

Nie wiemy co tam jest, Musisz postarać się o, tzw. Minimal, reproducible example:
https://stackoverflow.com/help/minimal-reproducible-example

0

Też kiedyś miałem problem z replacem. Nie wiem, czy odpowiednia wersja pythona, ale usunąłem jakiekolwiek kodowania i dekodowania(results.decode('ascii')) i posłużyłem się pakietem re i metodą sub z flagą unicode. Pamiętam, że walczyłem z tym dość sporo i dopiero ta flaga mi pomogła.

re.sub(r"\b%s\b", replacement_word, text, flags=re.UNICODE) 

https://docs.python.org/3/library/re.html

Może to pomoże ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1