Appium + python3 автоматический порт обнаружения и выпуска

# ! / Usr / bin / Python окр 
# - * - Coding:. 8 UTF - - * - 
# @time: 2019-08-06 10:38 
# @author: zhouyang 
# @file: check_port.py 
'' ' 
порт Appium автоматическое определение занимает 
выключение (самостоятельно, флаг): запрещают получать и отправлять данные в сокет. Используя выключение () функция позволяет передачи двунаправленных данных сокет становится однонаправленным передачи данных, 
отключение () требует один параметр , который указывает , как близко гнездо 
параметры: 0: Чтение запрещено в будущем; 1: представляет собой запись запрещают будущее; 2 : что запрещает будущее чтение и запись 

порта Appium автоматически освобождает порт занят, автоматически освобождается 
«» « 

Импорт сокета
 Импорт ОС 

DEF check_port (хост, порт):
     » «» , чтобы обнаружить ли занят порт «» ' 
    # создать объект гнездо 
    S = разъем .socket (socket.AF_INET, розетка.

    : 
        S.connect ((Host, Port)) 
        s.shutdown ( 2 )
     , кроме информации OSError AS MSG:
         Печать ( ' Порт доступна S% ' % Port)
         Печать (MSG)
         вернуться Правда
     еще :
         Печать ( " Порт уже S% использовать ' % порт)
         возврат ложного 


DEF relase_port (порт):
     ' '' , чтобы освободить указанный порт '' ' 
    # Найти Pid указанного порта , соответствующим 
    cmd_find = ' в NETSTAT -aon | Findstr% S '% Порт
     печати (cmd_find) 

    # возвращает результат выполнения команды 
    Результат = os.popen (cmd_find) .read ()
     Печать (Result) 

    IF STR (порт) и  ' СЛУШАТЬ '  в Result:
         # Получить PID процесса , соответствующего порта 
        я = result.index ( ' ПРОСлУШИВАНИЕ ' ) 
        Start = I + LEN ( ' СЛУШАЯ ' ) +7 
        End = result.index ( ' \ n- ' ) 
        PID = Результат [Start, End] 

        # закрыть порт занят ВЗОМТ
        cmd_kill = ' Taskkill -f -pid% s ' % PID
         печати (cmd_kill) 
        os.popen (cmd_kill) 
    еще :
         печать ( ' Порт% s доступен ' % порта) , 


если  __name__ == ' __main__ ' : 
    хост = ' 127,0. 0,1 ' 
    порт = 4725
     # check_port (хост, порт) 
    relase_port (порт)

 

рекомендация

отwww.cnblogs.com/xiuxiu123456/p/11322431.html
рекомендация