gpt4 book ai didi

python - 使用 CUCM 的 AXL 脚本 - 为什么此代码仅处理最后一项?

转载 作者:太空宇宙 更新时间:2023-11-03 20:02:31 24 4
gpt4 key购买 nike

我正在尝试这段代码并且它工作正常:

phone_list = resp['return'].phone
for phone in phone_list:
x = (phone.name)
print(x)

try:
resp = service.removePhone(name = x)
except Fault:
show_history()

print(x) 给出 3 个值:SEP003C53B8F073SEP001FBB3669EASEP003A33B8F041

问题是当我将其传递给下面的 try block (removePhone) 来删除这 3 部手机时:它只删除第一个。

我不知道如何将变量分配给单独的输出项。请让我知道我怎样才能实现这一目标。

这是执行协议(protocol):

>>> phone_list = resp['return'].phone
>>> for phone in phone_list:
... x = (phone.name)
... print(x)
...
SEP001B53B8F075
SEP001FCA3669EA
>>>
>>>
>>> try:
... resp = service.removePhone(name = x)
... except Fault:
... show_history()
... else:
... print('Deleted Phone:')
... print( resp )
...
Deleted Phone:
{
'return': '{C979366C-491D-4F12-B058-ECB789AA326A}',
'sequence': None
}

此代码刚刚从服务器中删除了第二部手机 (SEP001FCA3669EA)。第一部手机仍然在那里。

最佳答案

根据代码的编写方式,for 循环不包含调用 removePhonetry block 。正如您所看到的,只有在循环完成后才会进入 try block 。

执行循环后,x 的值将是循环中的最后一个值。因此,只有最后一部手机被删除。

我认为您希望为循环的每次迭代执行 try block 。为此,您必须缩进它,使其成为循环的一部分:

for phone in phone_list:
x = (phone.name)
print(x)

try:
resp = service.removePhone(name = x)
except Fault:
show_history()

关于python - 使用 CUCM 的 AXL 脚本 - 为什么此代码仅处理最后一项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59154777/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com