파이썬 멀티 디바이스 패키지 설치 응용 프로그램

파이썬 멀티 디바이스 패키지 설치 응용 프로그램

강령

1  # 으로 / usr / bin / env를 파이썬! 
2  # - * - 인코딩 : UTF-8 - * - 
3  수입 OS 
 4  수입 시간 
 5  에서 다중 처리 수입 6 목록 = [] 
 7  
8  DEF getDevicesAll () : 
 9      # 获取장치数量和名称
10 개      소자 = [] 
 (11)      시도 : 
 12           dName_  일은 os.popen ( " ADB 장치 " ) 
 (13)              의 경우  " \의 t"  에서 dName_ : 
 14                  경우 dName_.find ( " 에뮬레이터 " ) < 0 : 
 15                      devices.append (dName_.split ( " \의 t " ) [0]) 
 (16)          devices.sort (CMP = 없음, 키 = 없음, 반전되지 = 거짓) 
 17          인쇄 (장치) 
 (18)      를 제외한 : 
 19 개          패스  
(20)      출력 (U " \ n设备名称% S \ n总数量% S台" % (장치 LEN (장치))) 
 21 개      반송 장치 
 (22)  
(23)  DEFquickinstall (장치)
 24      패키지 이름 = " com.ishugui " 
25      # 卸载原有APK 
26      시도 :
 27  
28          os.system을 ( ' ADB -s ' + 장치 + ' 제거 % S ' % 패키지 이름)
 29          os.system을 ( ' ADB -s ' + 장치 + ' 제거 % S ' % 패키지 이름)
 30          인쇄 (장치 + " 成功n \卸载" )
 (31)      를 제외한 : 
 32         인쇄 (+ 장치 " 제거가 \ N- 실패 " )
 (33)가  
34 인      은 try :
 35          인쇄 ( ' ----- ----- 목록 ' , 목록)
 36  
[37          에 대한 I 에서 목록 : 
 38입니다              os.system을 ( ' 아시아 개발 은행 -s는 ' + + 장치 ' 설치 ' + I)
 (39)  
(40)      를 제외하고 : 
 41입니다          인쇄 (+ 장치 " 설치 \ N- 실패 " )
 (42)는      인쇄 (+ 장치 "성공적으로 설치 \ N- " )
 (43)는  
44가된다  DEF (장치)가 qainstall :
 45      startTime을가 = 로 time.time () 
 46이다      풀 = 풀 (2) # 생성 여덟 개 태스크 풀 
(47)      결과 = pool.map (QuickInstall 디바이스)
 48      ENDTIME = 로 time.time () 
 49      pool.close () 
 50      pool.join ()는 
 (51)는      인쇄 (endtime에-startTime을) #의 인쇄 시간 
(52)이  
53  DEF get_apk (파일명)
 54      글로벌   목록을
 55      # filesname = 'F : / 다운로드 / APK' 
56      #설치 패키지 구하는 
57을      인쇄 (filesname)
 (58)      에 대한 부모 dirnames, filnames 에서 : os.walk (filesname)
 59           FILNAME filnames :
 60              경로 = os.path.join (부모 FILNAME)
 61 인              list.append (경로)
 (62)는      인쇄 ( " ----- 목록 ' ,리스트)
 (63)는        목록을
 64  
65  # 패킷 경로 
66 filesname = ' F : / 다운로드 / APK ' 
67  #은 설치 패키지를 획득 
68  프린트(filesname)
 (69)  에 대한 부모 dirnames, filnames os.walk (filesname)
 70       filname filnames :
 71          경로 = os.path.join (부모 filname)
 72          list.append (경로)
 (73)  인쇄 ( ' - --- -----리스트 ' ,리스트)
 (74)  
(75)  
(76)  의 경우  __name__ == " __main__ " :
 77  
78      filesname = ' F / 다운로드 / APK ' 
79      목록 = get_apk (filesname)
(80)  
(81)      은 try :
 82 개          기기 = getDevicesAll () 
 (83)      를 제외하고 : 
 84          인쇄 ( " 장치 오류하세요 " ) 
 85      RES = 입력 ( " 시작 업데이트 1 입력 " ) 
 86  
87      IF INT (RES) == 1 : 
 88          은 try :
 89              qainstall (장치)
 90          제외 :
 91              인쇄 ( " 업데이트 실패 " )
 (92)      # 터치 (장치)

 

추천

출처www.cnblogs.com/lisa2016/p/11209215.html