使用sys.argv通过终端输入

时间:2016-05-03 14:04:27

标签: python input terminal sys

我写了一个Python脚本,我现在试图通过命令行运行。它由一个带有一个强制性和一些可选参数的函数组成。

def main(input_folder, iterations = 1000, probability_cutoff = - 40 , threshold = 10): ...

现在我试图通过命令行使其可执行,如下所示:

if __name__ == "__main__": main(sys.argv[1])

只要我只输入一个参数,这就行得很好;但我不知道如何接受sys.argv作为列表提供的额外的可选输入。

  • 使用这种方法有一种简单的方法吗?
  • 或者是否需要使用其他模块,例如 the CPAN
  • 我也试过在函数中输入关键字参数但是 无法做到这一点 - 这是一种可行的方法吗?

我在Mac上使用Python 2.7。非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

我总是使用argparse,因为它可以提供良好的错误处理,将字符串转换为int或打开文件,并清楚地记录选项。但是,这应该做你想要的:

if __name__ == "__main__":
    main(*sys.argv[1:])