python 3 adbはデバイスのシリアル番号を取得して実現します。


python 3 adbはデバイスのシリアル番号を取得します。

import subprocess
def deal_cmd(cmd):
	pi = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
	# print(pi.stdin.read())
	return pi.stdout.read()
 
def deal_result():
	result = deal_cmd('adb devices')
	result = result.decode("utf-8")
	if result.startswith('List of devices attached'):
		#       
		result = result.strip().splitlines()
		#         
		device_size = len(result)
		if device_size > 1:
			device_list = []
			for i in range(1, device_size):
				device_detail = result[1].split('\t')
				if device_detail[1] == 'device':
					device_list.append(device_detail[0])
				elif device_detail[1] == 'offline':
					print(device_detail[0])
					return False, '      ,     '
				elif device_detail[1] == 'unknown':
					print(device_detail[0])
					return False, '      '
			return True, device_list
		else:
			return False, "      "
Pythonはデバイス名と住所を取得します。
1.本機のデバイス名とIPアドレスを調べ、Python 3.6(32-bit)を開いて、入力:

import  socket
host_name = socket.gethostname()
print(" Host name: %s" %host_name)
print(" IP address: %s" %socket.gethostbyname(host_name))

2.ローカルのデバイス名とIPアドレスを調べ、内蔵の種類の方法を使って、独立した関数print_uと定義する。device_info()

import  socket
def  print_device_info():
      host_name = socket.gethostname()
      print(" Host name: %s"  %host_name)
      print(" IP address: %s"  %socket.gethostbyname(host_name))
if  __name__=='__main__':
      print_device_info();

3.リモートデバイス名とIPアドレスを調べ、関数print__を定義する。device_remote_info()

import  socket
def  print_device_remote_info():
      host_name = 'home.lenovo'
      print(" Host name: %s"  %host_name)
      print(" IP address: %s"  %socket.gethostbyname(host_name))
if  __name__=='__main__':
      print_device_remote_info();

以上は個人の経験ですので、参考にしていただければと思います。