所以我创建了几个模块:module1.py和module2.py,它们都工作正常。
但是现在我想通过指定相应的选项使用脚本从命令行调用它们。例如:
python launchscript.py -l somefile.txt
或
python launchscript.py -x
第一个选项应该发送参数并从module1.py执行main(),第二个选项应该从module2.py执行main()
这个启动脚本应该是可扩展的,因为我添加了更多的内部模块,它应该提供内置的命令行帮助。
我是一个蟒蛇初学者,任何帮助都将不胜感激
答案 0 :(得分:0)
我回应自己:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
Created on Nov 19, 2014
@author: yllanos
'''
# Standard libraries
import sys
import argparse
# External libraries
# Product modules
import module1 as dbs
import module2 as gen
def main(argv):
parser = argparse.ArgumentParser()
parser.add_argument('-f', '--file', action='store', dest='file',
help='Does something with a file')
parser.add_argument('-x', '--xml', action='store_true', dest='xml_switch',
help='Does some other thing')
parser.add_argument('-v', '--version', action='version', version='0.1')
ar = parser.parse_args()
if ar.file:
dbs.main(argv[1])
else:
None
if ar.xml_switch:
gen.main()
else:
None
if __name__ == '__main__':
if len(sys.argv[1:]) == 0:
print "Usage: ebiller command [OPTION]"
exit
else:
main(sys.argv[1:])