处理 CUCM 的 AXL 脚本 - 为什么此代码只处理最后一项?
Working on AXL scripts for CUCM - why does this code handle only the last item?
我正在尝试这段代码并且它工作正常:
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 个值:SEP003C53B8F073
、SEP001FBB3669EA
、SEP003A33B8F041
问题是当我将其传递给下面的 try
块 (removePhone
) 以删除这 3 个 phone 时:它只删除了第一个。
我不知道如何将变量分配给单独的输出项。请让我知道我能做到这一点。
这是执行协议:
>>> 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
}
此代码刚刚从服务器中删除了第二个 phone (SEP001FCA3669EA
)。第一个phone还在。
按照您的代码编写方式,for
循环不包括 try
块以及对 removePhone
的调用。如您所见,try
块仅在循环完成后才进入。
循环执行后,x
的值将是循环的最后一个值。因此只有最后一个 phone 被删除。
我认为您想为循环的每次迭代执行 try
块。为此,您必须缩进它,使其成为循环的一部分:
for phone in phone_list:
x = (phone.name)
print(x)
try:
resp = service.removePhone(name = x)
except Fault:
show_history()
我正在尝试这段代码并且它工作正常:
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 个值:SEP003C53B8F073
、SEP001FBB3669EA
、SEP003A33B8F041
问题是当我将其传递给下面的 try
块 (removePhone
) 以删除这 3 个 phone 时:它只删除了第一个。
我不知道如何将变量分配给单独的输出项。请让我知道我能做到这一点。
这是执行协议:
>>> 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
}
此代码刚刚从服务器中删除了第二个 phone (SEP001FCA3669EA
)。第一个phone还在。
按照您的代码编写方式,for
循环不包括 try
块以及对 removePhone
的调用。如您所见,try
块仅在循环完成后才进入。
循环执行后,x
的值将是循环的最后一个值。因此只有最后一个 phone 被删除。
我认为您想为循环的每次迭代执行 try
块。为此,您必须缩进它,使其成为循环的一部分:
for phone in phone_list:
x = (phone.name)
print(x)
try:
resp = service.removePhone(name = x)
except Fault:
show_history()