Я использую следующий вызов подпроцесса c = subprocess.Popen("wmic nic where 'netconnectionid like '%οπικ%' and PhysicalAdapter=True' get netconnectionid",stdout=subprocess.PIPE)
. То, что я хочу сделать, это передать netconnectionid (он же имя сетевого адаптера), чтобы я мог передать его в переменную и использовать его здесь
ip = self.ip_list.currentText()
subprocess.Popen('netsh interface ipv4 set address name="' + sk + '"
static 192.168.131.' + ip + ' 255.255.255.0 192.168.131.1')
Я делаю это, потому что адаптеримена отличаются в разных шт. Проблема здесь:
os = c.stdout.read()
sk = os.splitlines()[2].strip().decode('cp437')
В результате получается 'Τοπική σύνδεση'. Я пытаюсь преобразовать байты в греческие буквы. Я пыталсяUTF-8, и это не работает. Я попытался напечатать переменную sk с помощью .decode ('cp437') и единственную опцию декодирования, которая работает правильно, но после этого команда netsh все равно не будет работать. Я попытался переименовать адаптер с английскими буквами и декодировать с помощью utf-8, и этоработает так хорошо. Вот что я в основном хочу конвертировать:
b'\xe7?\xe3??? \xe5??\xeb\xee\xe5?'
Есть идеи, как заставить эту работу работать?