我有一个python脚本,它由一个名为的配置文件控制系统配置。配置文件的结构类似于下面的一些默认值。在
[company]
companyname: XYZ
[profile]
name: ABC
joining: 1/1/2014
配置文件的代码是:配置分析器_详细信息.py
^{pr2}$现在我的脚本代码是:测试.py
import config_parser_details as p
import sys
import warnings
import os
company = p.company
name = p.name
date = p.joindate
print("%s\n" %company)
print("%s\n" %name)
输出是
XYZ
ABC
现在我想通过命令行在配置文件中提供输入。 像
python test.py --compname ="testing"
如果命令行中缺少任何参数,则默认值将作为输入。在
您可以使用argparse库来分析命令行参数。在
所以你的测试.py文件如下所示:
我建议你研究一下像docopt这样的工具。在
为了快速解决问题,你可以试试这个
这将加载所有默认选项。任何放在命令行上的选项都将覆盖或添加到选项dict中
首先,我将代码移到main部分,这样您就可以
import config_parser_details
而不执行代码:其次,我将使用STB land的建议,即使用argparse解析命令行,类似于:
^{pr2}$通过这种方式,您可以灵活地使用python自己的unit test framework或nosetests编写不需要您手动指定参数的测试文件:
这带来了一个额外的好处,即没有全局变量,这会使你以后的生活变得复杂。在
相关问题 更多 >
编程相关推荐