Я хочу исключение из команды Linux - PullRequest
0 голосов
/ 27 марта 2019

хочу на питоне контролировать попробуйте поймать список Wi-Fi и подключиться к перехвату имени и пароля жены но я использую команду Linux, поэтому меня не волнует окно ошибки Linux Я хочу проверить пароль в Python когда я установил неправильный пароль, откройте диспетчер сети. Что мне делать?

import commands

def space_filter(x):
    if x == ' ':
        pass
    else:
        return x

#fail, output = commands.getstatusoutput("nmcli dev wifi list")
test= commands.getoutput("nmcli dev wifi list")
test1=test.split(' ')

print test
print test1
test2 = []

test1 = list(filter(space_filter, test1))
#print test1
for x in range(len(test1)):
    if test1[x] == '\n*' or test1[x] =='\n':
        test2.append(test1[x+1])

#print test2
try:
    result = commands.getoutput("nmcli d wifi connect " + test2[0] + " password 1234")
    print result
except:
    print "password is wrong"[enter image description here][1]

1 Ответ

0 голосов
/ 27 марта 2019

Исключения - это языковая конструкция, предназначенная для обнаружения аварийных ситуаций / ситуаций с ошибками. Правильный способ проверки состояния ошибки в командах оболочки - возвращаемое значение.

Используйте функцию getstatusoutput в командном модуле, чтобы перехватить возвращаемое значение вместе с выводом. В вашем случае вам нужно будет проанализировать вывод вместе с кодом возврата, чтобы выяснить причину сбоя, поскольку nmcli различает только определенные виды сбоя. - https://developer.gnome.org/NetworkManager/stable/nmcli.html

    (status, output) = commands. getstatusoutput("nmcli d wifi connect " + test2[0] + " password 1234")
    if not status:
           print "error"
...