Python 은 어떻게 subprocess 를 통 해 adb 명령 을 호출 하 는 지 상세 하 게 설명 합 니 다.
2482 단어 pythonadb 명령subprocess
본 고 는 주로 Python 을 사용 하여 subprocess 를 통 해 adb 명령 을 호출 하 는 것 에 대해 소개 하 였 으 며,subprocess 패키지 의 주요 기능 은 외부 명령 을 수행 하 는 것(Python 에 비해)입 니 다.셸 과 유사 합 니 다.
다시 말 하면 adb 명령 을 제외 하고 subprocess 를 이용 하여 다른 명령 을 수행 할 수 있다.예 를 들 어 ls,cd 등 이다.
subprocess 참고 가능:https://docs.python.org/2/library/subprocess.html
컴퓨터 에 adb 도 구 를 설치 하고 adb 의 환경 변 수 를 설정 하 며 셸 에서 adb 명령 을 호출 할 수 있 도록 합 니 다.
코드 예제
Python2.7
클래스 Adb,adb 를 패키지 하 는 방법
import os
import subprocess
class Adb(object):
""" Provides some adb methods """
@staticmethod
def adb_devices():
"""
Do adb devices
:return The first connected device ID
"""
cmd = "adb devices"
c_line = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()[0]
if c_line.find("List of devices attached") < 0: # adb is not working
return None
return c_line.split("\t")[0].split("\r
")[-1] # This line may have different format
@staticmethod
def pull_sd_dcim(device, target_dir='E:/files'):
""" Pull DCIM files from device """
print "Pulling files"
des_path = os.path.join(target_dir, device)
if not os.path.exists(des_path):
os.makedirs(des_path)
print des_path
cmd = "adb pull /sdcard/DCIM/ " + des_path
result = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
print result
print "Finish!"
return des_path
@staticmethod
def some_adb_cmd():
p = subprocess.Popen('adb shell cd sdcard&&ls&&cd ../sys&&ls',
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
return_code = p.poll()
while return_code is None:
line = p.stdout.readline()
return_code = p.poll()
line = line.strip()
if line:
print line
print "Done"
some_adb_cmd 방법 으로 일련의 명령 을 실행 합 니 다.각 명령 간 에&&로 연결 합 니 다.이 어 실행 결 과 를 출력 하 는 데 드 순환 이 이 어 졌 다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.