You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中访问Device类型变量dev_handle的poplk值?

如何访问Device对象中的设备类型值?

问题背景

  • 执行 print(dev_handle) 输出如下:

Device RET789-452.234 (alias=RET789), type poplk

  • dev_handle 是Device类的实例,并非int、string、list或dict类型,尝试通过下标 dev_handle[type] 访问时报错:

TypeError: 'Device' object is not subscriptable

  • dev_handle 由get_details方法创建,该方法从testbed.yaml读取设备数据,最终返回testbed_device_data、dev_handle和device_type三个值。

解决方案

1. 直接访问实例属性

从创建代码可知,device_detail.os就是你要的poplk值,而dev_handle本质就是device_detail对象,直接通过属性访问即可:

# 获取poplk值
device_type_value = dev_handle.os
print(device_type_value)

# 验证属性是否存在
if hasattr(dev_handle, 'os'):
    print("os属性存在,值为:", dev_handle.os)
else:
    print("os属性不存在")

2. 查看对象的所有属性/方法

如果不确定属性名称,可通过dir()函数列出该对象的全部可用属性和方法,从中定位对应类型的属性:

print(dir(dev_handle))

输出结果里找类似os、device_type这类和设备类型相关的属性名,直接访问即可。

3. 直接使用方法返回的device_type

你的get_details方法已经直接返回了device_type(值就是poplk),可以直接接收这个返回值使用,无需再从dev_handle中提取:

testbed_device_data, dev_handle, device_type = get_details(your_testscript, your_device_ip)
print(device_type)  # 直接输出poplk

内容的提问来源于stack exchange,提问作者mac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 20:49:57