如何使用 Python and/or RobotFramework 将变量动态应用于字典的值
How to dynamically apply variables to the values of a dictionary using Python and/or RobotFramework
假设我有一个字典列表:
URL_LIST = [
{'google': 'http://www.google.com/join'},
{'yahoo': 'http://www.yahoo.com/{0}/join'},
{'msn': 'http://www.msn.com/{0}/join'}
]
现在,我想将此字典连同其他两个变量一起传递给 python 函数,以便这两个变量替换 'yahoo'
和 'msn'
变量:
def apply_arguments (url_list, yahoo_subpage, msn_subpage):
#Do stuff
return url_list
所以如果yahoo_suboage = 'aaa'
和msn_subpage = 'bbb'
,我希望最后的结果是这样的:
URL_LIST = [
{'google': 'http://www.google.com/join'},
{'yahoo': 'http://www.yahoo.com/aaa/join'},
{'msn': 'http://www.msn.com/bbb/join'}
]
我想使用 python 或 RobotFramework 来完成。这可能吗?
我认为你的 URL_LIST
没有必要嵌套,所以我在这个答案中使用了 list
。
lst = [
'http://www.google.com/join',
'http://www.yahoo.com/{0}/join',
'http://www.msn.com/{0}/join',
]
dct = {
'yahoo': 'aaa',
'msn': 'bbb',
}
def make_changes(lst, dct):
for i, url in enumerate(lst):
k = url.split('.')[1]
try:
lst[i] = url.replace('{0}', dct[k])
except:
pass
return lst
print(make_changes(lst, dct))
输出:
['http://www.google.com/join', 'http://www.yahoo.com/aaa/join', 'http://www.msn.com/bbb/join']
假设我有一个字典列表:
URL_LIST = [
{'google': 'http://www.google.com/join'},
{'yahoo': 'http://www.yahoo.com/{0}/join'},
{'msn': 'http://www.msn.com/{0}/join'}
]
现在,我想将此字典连同其他两个变量一起传递给 python 函数,以便这两个变量替换 'yahoo'
和 'msn'
变量:
def apply_arguments (url_list, yahoo_subpage, msn_subpage):
#Do stuff
return url_list
所以如果yahoo_suboage = 'aaa'
和msn_subpage = 'bbb'
,我希望最后的结果是这样的:
URL_LIST = [
{'google': 'http://www.google.com/join'},
{'yahoo': 'http://www.yahoo.com/aaa/join'},
{'msn': 'http://www.msn.com/bbb/join'}
]
我想使用 python 或 RobotFramework 来完成。这可能吗?
我认为你的 URL_LIST
没有必要嵌套,所以我在这个答案中使用了 list
。
lst = [
'http://www.google.com/join',
'http://www.yahoo.com/{0}/join',
'http://www.msn.com/{0}/join',
]
dct = {
'yahoo': 'aaa',
'msn': 'bbb',
}
def make_changes(lst, dct):
for i, url in enumerate(lst):
k = url.split('.')[1]
try:
lst[i] = url.replace('{0}', dct[k])
except:
pass
return lst
print(make_changes(lst, dct))
输出:
['http://www.google.com/join', 'http://www.yahoo.com/aaa/join', 'http://www.msn.com/bbb/join']