【问题标题】:Python passing values from command linePython从命令行传递值
【发布时间】:2014-03-24 08:14:25
【问题描述】:

我想将一个值传递给我的 python 脚本,如下图所示

xyz 是我的 python 文件,它需要 abc 值。

如何执行此操作并访问 xyz.py 中的 abc 值?

【问题讨论】:

  • 你应该在用户import sys之前使用str(sys.argv)

标签: python


【解决方案1】:

你可以这样试试,

#!/usr/bin/python

import sys

print 'Argument List:', str(sys.argv)

【讨论】:

    【解决方案2】:

    您可以使用sys.argv,但更好的方法是使用argparse 模块。

    这是一个例子。

    #!/usr/bin/python
    
    import argparse
    
    parser = argparse.ArgumentParser(prog='reader', description='Read commandline value.')
    parser.add_argument('-v', '--value')
    args = parser.parse_args()
    print "Value you entered: %s" % args.value
    

    【讨论】:

    【解决方案3】:

    Python sys 模块通过 sys.argv 提供对任何命令行参数的访问。这有两个目的:

    sys.argv 是命令行参数列表。

    len(sys.argv) 是命令行参数的数量。

    示例: 考虑以下脚本 test.py:

    #!/usr/bin/python
    
    import sys
    
    print 'Number of arguments:', len(sys.argv), 'arguments.'
    print 'Argument List:', str(sys.argv)
    

    现在运行上面的脚本如下:

    $ python test.py arg1 arg2 arg3
    

    这将产生以下结果:

    Number of arguments: 4 arguments.
    Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
    

    command line arguments

    【讨论】:

      猜你喜欢
      • 2018-11-29
      • 2012-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-21
      • 2012-11-02
      • 2011-12-13
      • 1970-01-01
      相关资源
      最近更新 更多