问题:
用一段python代码处理一批文件,需要用户指定文件输入路径和输出路径,运行平台为Linux,以.sh文件调用python脚本。
方法:
1.使用xml文件记录参数。
2.用xml.etree.ElementTree包解析xml文件。
3.使用argparse传递参数。
流程:
1.新建记录参数的xml文件,如下所示
<?xml version="1.0" encoding="UTF-8"?>
<task>
<param>
<param1>this is param1</param1>
<param2>this is param2</param2>
</param>
</task>
2.在python代码中用xml.etree.ElementTree包解析xml文件并传递参数。
import xml.etree.ElementTree as ET
import argparse
def Fun1(param1,param2):
#测试函数
return 0
if __name__=="__main__":
parser=argparse.ArgumentParser()
parser.add_argument('--xml',type=str,help='input xml')
args=parser.parse_args()
print('input xml: ',args.xml)
tree=ET.parse(args.xml)
root=tree.getroot()
param1=root.find('param1/this is param1').text
print("param1 is :",param1)
param2=root.find('param2/this is param2').text
print("param2 is :",param2)
Fun1(param1,param2)
print("运行完成")
3.新建.sh脚本
#!/bin/bash
hostname -i
export LD_LIBRARY_PATH=设置环境变量
python 运行python文件的路径.py --xml $@
运行:
在Linux上运行该python文件。cd进入该python文件目录,目录中包含.py文件,.sh文件和.xml文件,输入
./xxxxx.py yyyy.xml
注意.py文件和.xml文件中间有空格