首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python optparse from method call?

Python optparse from method call?
EN

Stack Overflow用户
提问于 2015-05-21 05:46:20
回答 2查看 233关注 0票数 0

我有两个python脚本,结构如下:

代码语言:javascript
复制
# 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才能完成。

EN

回答 2

Stack Overflow用户

发布于 2015-05-21 06:05:05

如果您不向parse_args传递任何参数,它只使用sys.argv[1:]的值,该值将是您调用Script2.py时传递的任何参数。Script2.py调用Script1.main这一事实并没有改变这一点。

票数 2
EN

Stack Overflow用户

发布于 2015-05-21 06:11:38

首先,也许可以使用argparse。您可以处理脚本2中的所有参数,然后将参数句柄传递给脚本1。

代码语言:javascript
复制
# 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()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30360949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档