4

A = 一个脚本,它被构造为由命令行调用,其中包含由 python argparse 库内部解析的选项。B= 另一个脚本,它应该在其内部调用 A 中使用的函数。

我相信在 B 中导入 A 是我需要的,但它会返回使用选项,然后从 python 解释器中退出。

有没有办法保留 A 并将其导入 B 并传递给它的 args?还是我应该重写一个避免使用解析器?

4

1 回答 1

9

在你的脚本 A 中,在解析参数和做 A 工作之前检查你是否是“主脚本”,否则当你只需要使用 A 作为库时也会运行。

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("-k", dest = "foo",  action='store_true')
    args = parser.parse_args()
    # do things...
于 2013-11-14T13:22:27.103 回答