python啟動手機相機

2022-09-10 07:48:13 字數 1948 閱讀 7144

通過adb命令」adb devices「獲取裝置資訊

def getuuid():

# shell命令內容

cmd = "adb devices"

# 建立乙個shell命令的執行緒

with subprocess.popen(cmd, stdout=subprocess.pipe, stderr=subprocess.pipe, shell=true) as p1:

p1.wait() # 等待子程序終止

data = p1.stdout.read().decode('utf-8') # 程序的輸出內容

datas = data.strip("list of devices attached").split("\r\n") # strip去掉開頭的字元,split分隔成列表

arr = # 建立乙個空列表用於存放裝置的名稱

for s in datas:

if s is not none and s.strip().endswith('device'): # 列表中不為空的字串

if len(arr) == 0: # 獲取裝置名稱失敗

print('no devices')

exit(-1)

return arr # 返回獲得的裝置名稱,列表型別

可能是多太裝置同時進行測試 所以我們可以建立乙個數量相同於裝置列表的列表

def port():

port =

for s in range(len(uuid)):

return port

為了防止我們在多次執行過程**問題,我們在每次啟動的時候都關閉一下之前的程序

def kill_server():  # 結束node服務

server_list = os.popen('tasklist | find "node.exe"').readlines() # 獲取當前的node是否在執行中

if len(server_list) > 0:

os.system("taskkill -f -pid node.exe") # 執行狀態就停止node

嘗試著啟動吧。執行緒這個庫我會另外寫乙個文件,我被這個東西困了兩天,哭了

if __name__ == '__main__':

uuid = getuuid() # 獲取裝置號成列表

port = port() # 設定埠號成列表

kill_server() # 殺死node程序

for j in range(len(uuid)): # 執行所有接入的的裝置對應埠

th.start() # 啟用執行緒

time.sleep(10)

執行結果如下:

這個執行緒是一直啟動著的,所以需要我們手動結束**。

設定乙個方法來存放我們的引數

def cap(uuid):

# 設定傳入方法的引數

capabilities =

return capabilities

開啟相機吧!

driver = webdriver.remote(''.format(port),cap(uuid))  # 開啟相機

time.sleep(10)

driver.quit() # 退出相機

我們的手機裝置就會自動開啟相機了,不過啟動時間有點慢,我覺得應該是啟動服務時間太多 並不是我們的**問題,執行結果如下:

swift相機啟動

1.在info.plist中新增引數 privacy camera usage description 允許使用相機 privacy photo library usage description 允許使用相簿 2.注意 類要繼承 uiimagepickercontrollerdelegate 判斷...

android開發之在瀏覽器裡面啟動手機APP

就是三步 第一 在activity裡面新增乙個意圖 scheme要與js對應 intent filter actionandroid name android.intent.action.view categoryandroid name android.intent.category.defaul...

手機相機ISO是什麼

要說什麼是iso還要從傳統膠片相機說起,iso被 稱為感光度,它是衡量傳統相機所使用膠片感光速度的國際統一指標,其數值反映了膠片感光時的速度 其實是銀元素與光線的光化學反應速率 而對於現在並不 使用膠片的數位相機來說,其成像原理是通過感光器件ccd或cmos以及相關的電子線路感應入射光線的強弱來進行...