我有两个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才能完成。
发布于 2015-05-21 06:05:05
如果您不向parse_args传递任何参数,它只使用sys.argv[1:]的值,该值将是您调用Script2.py时传递的任何参数。Script2.py调用Script1.main这一事实并没有改变这一点。
发布于 2015-05-21 06:11:38
首先,也许可以使用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()https://stackoverflow.com/questions/30360949
复制相似问题