在运行脚本时如何通过bash将参数传递给Python

时间:2014-10-29 19:34:23

标签: python bash arguments

如何从Bash运行参数时将参数传递给python脚本?

python somepythonfile.py arg1 arg2

3 个答案:

答案 0 :(得分:1)

你究竟是怎样的。您可以通过sys.argv

访问它们
#!/usr/bin/python

import sys

print 'Number of arguments:', len(sys.argv), 'arguments.'
print 'Argument List:', str(sys.argv)

输出:

Number of arguments: 3 arguments
Argument List: ['somepythonfile.py', 'arg1', 'arg2']
  • 参数0(sys.argv[0])是脚本的名称
  • 参数1到参数N(sys.argv[1] ... sys.argv[N])是传递的参数

无耻地从this example获取。

答案 1 :(得分:1)

使用sys.argv,它是一个包含传递给脚本的参数以及文件名的列表。

# test_prog.py
from sys import argv

print argv[0] # test_prog.py
if len(argv) > 1: # check that we have at least 1 argument
    print argv[1]

答案 2 :(得分:1)

正如其他人所说,您可以通过sys.argv

获得对args的原始访问权限

对于更复杂的参数处理,如果创建命令行脚本,您可能需要查看argparse模块:

https://docs.python.org/2/library/argparse.html#module-argparse

(来自文档...)

例如,考虑一个名为myprogram.py的文件,其代码如下:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--foo', help='foo help')
args = parser.parse_args()

从命令行:

$ python myprogram.py --help
usage: myprogram.py [-h] [--foo FOO]

optional arguments:
 -h, --help  show this help message and exit
 --foo FOO   foo help