亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python3 自動識別usb連接狀態(tài),即對usb重連的判斷方法

 更新時間:2019年07月03日 11:06:52   作者:五力  
今天小編就為大家分享一篇python3 自動識別usb連接狀態(tài),即對usb重連的判斷方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

在做自動化測試時,遇到兩種情況需要判斷usb是否已連接上(注,本文僅針對用adb命令來control手機)

一種是在開測時(前提是同時要測試多臺), 希望等待所有設備usb全部識別后同時進行測試。對于這一種,當然是可以另開一個窗口不斷的輸入adb devices來檢測,但不夠AI。

一種是在測試過程中有時usb會自動斷開,這時如果不判斷usb是否有重新連接的話,則測試還會往下執(zhí)行,測試指定是失敗的。

第一種情況:其思路還是要利用adb devices來不斷的獲取當前已連接的設備id。

1.先獲取一個devlist, 并計算當前已連接的設備數(shù).

2.利用while循環(huán),當重新獲取一個devlist時,其設備數(shù)大于之前的設備數(shù),則遍歷new devlist,當new device不在old devlist里時,就print出deviceid, 即實現(xiàn)了對usb的實時識別并打印了.

具體實現(xiàn)如下:

import os
from time import sleep
 
# 獲取設備id列表
def getdevlist():
  devlist = []
  connectfile = os.popen('adb devices')
  list = connectfile.readlines()
  # print(list)
  for i in range(len(list)):
    if list[i].find('\tdevice') != -1:
      temp = list[i].split('\t')
      devlist.append(temp[0])
  return devlist
 
 
connectdevice = input('請輸入每次要同時連接的設備數(shù):')
number = int(connectdevice.strip())
 
while True:
  lists = getdevlist()
  devnum = len(lists)
  id = 1
  tempdevlist = getdevlist()
  if devnum < number:
    print(f'\n設備未全部識別,應識別{number}臺設備!\n當前已識別{devnum}臺設備,請連接設備并等待識別:\n\n')
    for i in range(devnum):
      print(f'設備{id}: {lists[i]}')
      id = id + 1
  # 等待識別所有設備
  while devnum < number:
    lists = getdevlist()
    curnum = len(lists)
    if curnum > devnum:
      for i in range(len(lists)):
        if lists[i] not in tempdevlist:
          print(f'設備{id}: {lists[i]}')
          id = id + 1
          tempdevlist = getdevlist()
      devnum = curnum
    
  print(f'\n所有設備已全部識別!當前有連接{len(getdevlist())}臺設備.\n\n')

第二種情況:第二種情況的前提的已知當前已連接設備的deviceid, 這個不難理解也不難獲取,其思路跟第一種情況也差不太多,不過我將其封裝成了一個函數(shù). 應用場景其實在實際應用過程中,總有那個一兩個地方,總會概率的usb斷開然后又自動連接上,但這樣就會執(zhí)行失敗,故對這樣的概率會fail的場景先要做到了然于胸,才能在實適當?shù)牡胤疆斉袛鄟磉M行重連,做到代碼簡潔。

import os
from time import sleep
 
def reconnectAction(deviceid):
  devlist = getdevlist()
  print(f'設備{deviceid}正在嘗試重連.')
  id = 1
  while deviceid not in devlist:
    print(f'第{id}次 ', end = ' ')
    devtuple = getdevlist()
    id = id + 1
  print(f'\n設備{deviceid}重新建立連接成功.')
  sleep(1)
 
 
# example:
if __name__ == '__main__':
  deviceid = '12lk34fkjaaf'
  if clickScreen(openfilemanager, deviceid) != 0:
    print(f'{openfilemanager[1]}:執(zhí)行失敗‘)
    reconnectAction(deviceid)
    clickScreen(openfilemanager, deviceid)

OK, 任務完成。

以上這篇python3 自動識別usb連接狀態(tài),即對usb重連的判斷方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 在SQLite-Python中實現(xiàn)返回、查詢中文字段的方法

    在SQLite-Python中實現(xiàn)返回、查詢中文字段的方法

    今天小編就為大家分享一篇在SQLite-Python中實現(xiàn)返回、查詢中文字段的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 快速解決Django關閉Debug模式無法加載media圖片與static靜態(tài)文件

    快速解決Django關閉Debug模式無法加載media圖片與static靜態(tài)文件

    這篇文章主要介紹了快速解決Django關閉Debug模式無法加載media圖片與static靜態(tài)文件的操作方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • pycharm xpath路徑出錯的問題及解決

    pycharm xpath路徑出錯的問題及解決

    這篇文章主要介紹了pycharm xpath路徑出錯的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Matlab中關于argmax、argmin函數(shù)的使用解讀

    Matlab中關于argmax、argmin函數(shù)的使用解讀

    這篇文章主要介紹了Matlab中關于argmax、argmin函數(shù)的使用解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 還不知道Anaconda是什么?讀這一篇文章就夠了

    還不知道Anaconda是什么?讀這一篇文章就夠了

    Anaconda指的是一個開源的Python發(fā)行版本,其包含了Conda、Python等180多個科學包及其依賴項,下面這篇文章主要給大家介紹了關于Anaconda是什么的相關資料,需要的朋友可以參考下
    2023-02-02
  • Python?groupby函數(shù)圖文詳解

    Python?groupby函數(shù)圖文詳解

    pandas中DataFrame提供了一個靈活高效的groupby功能,它使你能以一種自然的方式對數(shù)據(jù)集進行切片、切塊、摘要等操作,下面這篇文章主要給大家介紹了關于Python?groupby函數(shù)詳解的相關資料,需要的朋友可以參考下
    2022-07-07
  • OpenCV實戰(zhàn)之圖像拼接的示例代碼

    OpenCV實戰(zhàn)之圖像拼接的示例代碼

    圖像拼接可以應用到手機中的全景拍攝,也就是將多張圖片根據(jù)關聯(lián)信息拼成一張圖片。本文將介紹利用Python OpenCV實現(xiàn)圖像拼接的方法,感興趣的可以試一試
    2022-01-01
  • Python開發(fā)之迭代器&生成器的實戰(zhàn)案例分享

    Python開發(fā)之迭代器&生成器的實戰(zhàn)案例分享

    在 Python 中,迭代器和生成器都是用來遍歷數(shù)據(jù)集合的工具,可以按需逐個生成或返回數(shù)據(jù),從而避免一次性加載整個數(shù)據(jù)集合所帶來的性能問題和內存消耗問題。本文主要和大家分享幾個貼近實際運維開發(fā)工作中的場景案例,希望對大家有所幫助
    2023-04-04
  • Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]

    Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]

    這篇文章主要介紹了Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n],文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • 國產(chǎn)化設備鯤鵬CentOS7上源碼安裝Python3.7的過程詳解

    國產(chǎn)化設備鯤鵬CentOS7上源碼安裝Python3.7的過程詳解

    這篇文章主要介紹了國產(chǎn)化設備鯤鵬CentOS7上源碼安裝Python3.7,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05

最新評論