假设我从终端提供参数: python xyz.py --values [ 2 4 5 ]
。我想取这些数字并将其替换为XML文件,我该怎么做?
我的XML文件如下所示:
<DP>
<NVP>
<CHECK>NameX_1</CHECK>
<DIGIT>3</DIGIT>
</NVP>
<NVP>
<CHECK>NameX_2</CHECK>
<DIGIT>20</DIGIT>
</NVP>
<NVP>
<CHECK>NameX_2</CHECK>
<DIGIT>100</DIGIT>
</DP>
当用户提供参数时,应该替换该XML中的数字。所以3 -> 2, 20 -> 4
和2 -> 5
。
for digits in tree.findall(getDigit.format(namespace)):
matchCheck = digits.find('{http://something.com}CHECK').text
if matchCheck == mathcName:
digitNumber = digits.find('{http://something.com}DIGIT').text
convertToString = ' '.join([str(mystring) for mystring in args.value]) #Convert to string
digits.find('{http://something.com}DIGIT').text = convertToString #This allows the script to changes the digit in the xml file
tree.write("test.xml", encoding='utf-8', xml_declaration=True)
else: print"NO MATCHES\n"
您可以在此处找到其余代码:Code
答案 0 :(得分:0)
目前还不清楚您的问题是关于argparse
代码的结尾还是xml
结束。
但是如果你定义
parser = argparse.ArgumentParser()
parser.add_argument('--values', nargs='+')
args = parser.parse_args()
values = args.values
print(values)
然后打电话(没有括号)
python xyz.py --values 2 4 5
应该打印
[2, 4, 5]
即values
将是3个数字的列表。您使用这三个数字执行的操作是代码的xml
编辑部分的责任。