[英]Python optparse from method call?
我有两个具有以下结构的python脚本:
# Script1.py
from optparse import OptionParser
def main():
parser = OptionParser()
parser.add_option("-a", "--add-foobar", action="store_true", help="set foobar true",
dest="foobar", default=False)
options, args = parser.parse_args()
print options.foobar
if __name__ == "__main__":
main()
# Script2.py
from Script1 import main as script1Main
def main():
script1Main()
有没有办法将命令行参数从脚本2传递到脚本1? 此示例中的脚本1是不可变的,因此必须仅通过optparse进行此操作。
如果您没有将任何参数传递给parse_args
,它将仅使用sys.argv[1:]
的值,该值将成为调用Script2.py
时传递的任何参数。 Script2.py
调用Script1.main
的事实并没有改变。
首先,也许使用argparse代替。 您可以处理脚本2中的所有参数,然后将参数句柄传递给脚本1。
# Script1.py
def main(args):
print args
# Script2.py
import argparse
from Script1 import main as script1Main
def main():
parser = argparse.ArgumentParser(
parser.add_option("-a", "--add-foobar", action="store_true", help="set foobar true", default=False)
args = parser.parse_args()
script1Main(args)
if __name__ == "__main__":
main()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.