Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编写和记录具有可变参数数的Python脚本_Python_Scripting_Documentation_Arguments_Argparse - Fatal编程技术网

编写和记录具有可变参数数的Python脚本

编写和记录具有可变参数数的Python脚本,python,scripting,documentation,arguments,argparse,Python,Scripting,Documentation,Arguments,Argparse,我是Python新手,我希望通过传递可变数量的参数来运行脚本。也就是说,在我的终端窗口中,我希望运行与以下命令相同的命令: // Case1 python script.py arg // Case2 python script.py arg1 arg2 arg3 arg3 arg4 ... argN 在Case1中,我知道如何做到这一点,但我不知道如何使脚本处理Case2传递的多个变量参数的情况。我该怎么办 好处:如何通过argparse模块记录上述行为?sys.argv[2:]应该做您需要

我是Python新手,我希望通过传递可变数量的参数来运行脚本。也就是说,在我的终端窗口中,我希望运行与以下命令相同的命令:

// Case1
python script.py arg
// Case2
python script.py arg1 arg2 arg3 arg3 arg4 ... argN
在Case1中,我知道如何做到这一点,但我不知道如何使脚本处理Case2传递的多个变量参数的情况。我该怎么办

好处:如何通过argparse模块记录上述行为?

sys.argv[2:]应该做您需要做的事情,以便在列表中获得所有1-N个输入参数

编辑:示例代码

下面是一个快速脚本:

test.py hi hello测试

代码:

印刷品:

[“你好”,“测试”]

如果要获取所有输入参数,可以执行以下操作:

import argparse

parser = argparse.ArgumentParser(description='View arguments')
parser.add_argument('arguments', nargs='+', help='passed arguments')
args = parser.parse_args()
print args.arguments
代码:

印刷品:

['hi'、'hello'、'test']

简单到:

import sys

for arg in sys.argv[2:]:
    print arg
这将打印命令行中给出的所有参数

如果要使用argparse,可以执行以下操作:

import argparse

parser = argparse.ArgumentParser(description='View arguments')
parser.add_argument('arguments', nargs='+', help='passed arguments')
args = parser.parse_args()
print args.arguments

直接引自:nargs='+'你能不能更多产一些,也许用一个脚本例子?我不知道如何使用您编写的内容来处理脚本中的多个参数。@Backo-yes。刚刚为argparse添加了+1。谷歌上有很多例子。文件:
import argparse

parser = argparse.ArgumentParser(description='View arguments')
parser.add_argument('arguments', nargs='+', help='passed arguments')
args = parser.parse_args()
print args.arguments