您好我正在尝试在request.get(url,params = data)数据列表中使用sys.argv。
我失败了 这是我写的代码
#!/usr/bin/env python
import sys
import requests
from xml.etree import ElementTree
vlan = str(sys.argv[1])
url = "https://xxxx.xxx.com/api/"
data = {
'key':'LUFRPT1VN2RyMmsxN0ljYWs1cdsaf3251VBkZHFLdHM9MEdHY3ZqWlpFQkI0UU1KeWpyZkV2OW9nM2pkSUE3NEdlRVVGSklWVTgvcz0=',
'type':'op',
'cmd':'<show><arp><entry name="ethernet1/5.608"/></arp></show>'
}
output = requests.get(url,params=data)
我想要使用的是
'cmd':'<show><arp><entry name="ethernet1/5.608"/></arp></show>'
我想从命令行中获取usr参数,而不是使用608
所以当我调用脚本时./script 123
我想用123作为这个
'cmd':'<show><arp><entry name="ethernet1/5.123"/></arp></show>'
我尝试使用
cmd':'<show><arp><entry name="ethernet1/5.$vlan"/></arp></show>'
它不起作用
谢谢
答案 0 :(得分:1)
您正在寻找的功能称为&#34;字符串格式化&#34;。有两种变体,一种使用%
operator,另一种使用str.format
method。
%
运营商:
'cmd':'<show><arp><entry name="ethernet1/5.%s"/></arp></show>'%(vlan)
str.format()
:
'cmd':'<show><arp><entry name="ethernet1/5.{}"/></arp></show>'.format(vlan)