关于python:使用sys.argv通过Terminal输入

Using sys.argv for input through Terminal

我编写了一个python脚本,现在我正试图通过命令行运行它。它由一个函数组成,该函数接受一个必需参数和几个可选参数。

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

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

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

只要我只输入一个参数,这就可以很好地工作;但是我不知道如何接受sys.argv作为列表提供的附加的可选输入。

  • 有没有一种简单的方法可以用这种方法做到这一点?
  • 或者是否需要使用其他模块,如阿格帕斯?
  • 我也尝试将关键字参数输入函数,但是这也不能奏效-这是可行的方法吗?

我正在Mac上使用python 2.7。非常感谢您的帮助!


我总是使用argparse,因为它提供了很好的错误处理,将字符串转换为int或打开的文件,并清晰地记录了选项。但是,这应该满足您的需要:

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