如何用asyncua(Python)判断服务器上是否已经存在特定名称的 node ?

如果它存在,则应该使用它,如果它不存在,则应该创建该 node .

Use case: opcua客户端必须在opcua服务器上写入数据.客户端还为数据创建对象和 node . 如果客户端离线,服务器将保留 node 和对象. 当客户端重新联机时,它必须判断服务器是否有对象或已被重置.

推荐答案

您可以try 从它读取任何属性:

async def check_if_node_exists(client, node_id):
    node = client.get_node(node_id)
    try:
        _ = await node.read_browse_name()
        return True
    except BadNodeIdUnknown as e:
        return False

node_id = "ns=4;s=ABC"
if(check_if_node_exists(client, node_id)):
   print('found')
else:
   print('not found')
 

Python相关问答推荐

连接两个具有不同标题的收件箱

ModuleNotFound错误:没有名为Crypto Windows 11、Python 3.11.6的模块

如何将双框框列中的成对变成两个新列

如何在类和classy-fastapi -fastapi- followup中使用FastAPI创建路由

我如何使法国在 map 中完全透明的代码?

如何使用表达式将字符串解压缩到Polars DataFrame中的多个列中?

将tdqm与cx.Oracle查询集成

海上重叠直方图

python panda ExcelWriter切换动态公式到数组公式

如何使用使用来自其他列的值的公式更新一个rabrame列?

如何使用OpenGL使球体遵循Python中的八样路径?

基于多个数组的多个条件将值添加到numpy数组

为什么我的sundaram筛这么低效

如何在Python中将超链接添加到PDF中每个页面的顶部?

解决Geopandas和Altair中的正图和投影问题

如何在信号的FFT中获得正确的频率幅值

Django在一个不是ForeignKey的字段上加入'

使用xlsxWriter在EXCEL中为数据帧的各行上色

在Pandas 中以十六进制显示/打印列?

如何在不不断遇到ChromeDriver版本错误的情况下使用Selify?