Python中的命令行参数与sys.argv

时间:2015-03-18 10:16:05

标签: python command-line

我想使用sys.argv来访问传递给脚本的参数。这是我的代码:

if __name__ == '__main__':
    data = {}
    if len(sys.argv) >= 2 :read_inputs(data, sys.argv[1])
    else : print "ERROR : the config file is required in the command line"

    if len(sys.argv) >= 3 :data['Parameters']['Mode'] = sys.argv[2]
    print_data(data)
  • 我了解sys.argv[1]sys.argv[2]是指参数。
  • 我的论据包含在文本文件中。

我无法理解的是如何告诉代码需要读取该精确文本文件中的参数。 我使用python Interface.py config.txt但它没有用。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果我理解正确,你希望命令行通常在该文件中,对吧?

您可以使用命令替换python Interface.py $(< config.txt)执行此操作,如here

所示

答案 1 :(得分:1)

虽然不能直接回答你的问题,但我强烈建议使用Python argparse模块来解析命令行参数。我的情况下,我会添加一个“-c, - config”选项,指定您要使用的配置文件的位置。有关示例,请参阅文档:https://docs.python.org/3/library/argparse.html