nargs=' ? '
时间: 2024-01-14 14:02:53 浏览: 28
在 argparse 模块中,"nargs='?'" 表示该参数可以接受零个或一个参数值。如果用户指定了该选项,则该选项的参数值将被收集到一个单独的变量中;如果用户没有指定该选项,则该变量将被设置为默认值(通常是 None)。需要注意的是,"nargs='?'" 只能用于单个参数,而不能用于接受多个参数值的列表参数。
相关问题
def parse_args(): parser = argparse.ArgumentParser(description= "PINMUX Generator") parser.add argument('--version', parser.add argument('-n',parser.add arqument('-i',parser.add_argument('-o',args = parser.parse_args()return argsaction='version', version='vl.0')action='store', nargs='?', type=str, help='Input PINMux prefix name') action='store', nargs='?', type=str, help='Input PINMux Generator Table') action='store', nargs='?', type=str, help='output path')这部分我想要将最后的output path设置为当前文件夹的内部就行
你可以使用os模块来获取当前文件夹的路径,然后将其拼接到输出路径中。以下是修改后的代码:
```python
import os
import argparse
def parse_args():
parser = argparse.ArgumentParser(description="PINMUX Generator")
parser.add_argument('--version', action='version', version='vl.0')
parser.add_argument('-n', action='store', nargs='?', type=str, help='Input PINMux prefix name')
parser.add_argument('-i', action='store', nargs='?', type=str, help='Input PINMux Generator Table')
parser.add_argument('-o', action='store', nargs='?', type=str, help='output path')
args = parser.parse_args()
if args.o:
output_path = os.path.join(os.getcwd(), args.o)
args.o = output_path
return args
```
在这个修改后的代码中,我们使用了`os.getcwd()`来获取当前文件夹的路径,然后使用`os.path.join()`将当前路径和输出路径拼接起来。最后将拼接后的输出路径赋值给`args.o`。这样,如果你没有指定输出路径,输出文件将会被保存在当前文件夹中。
nargs=argparse
`argparse` 模块中的 `argparse.REMAINDER` 是一个特殊的常量,用于表示将命令行中剩余的所有参数都收集到一个列表中。
通常情况下,当你定义一个参数列表时,只有那些你在程序中明确指定的参数才会被 `argparse` 模块解析和使用。但是,有时候你可能需要处理那些没有被解析的参数,例如你想将这些参数传递给其他的程序或者函数中。这时候 `argparse.REMAINDER` 就能够派上用场了。
当你在定义参数时,将 `nargs` 的值设置为 `argparse.REMAINDER`,并将该参数附加到你的参数列表中,这样在解析命令行参数时,所有剩余的参数都会被收集到一个列表中,然后可以被你的程序进一步处理。
例如,以下代码段展示了如何使用 `argparse.REMAINDER` 来收集所有剩余的命令行参数:
```python
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('name', help='name argument')
parser.add_argument('other_args', nargs=argparse.REMAINDER, help='other arguments')
args = parser.parse_args()
print('Name:', args.name)
print('Other arguments:', args.other_args)
```
在这个例子中,我们定义了一个 `name` 参数和一个 `other_args` 参数。我们将 `other_args` 参数的 `nargs` 设置为 `argparse.REMAINDER`,这样当我们解析命令行参数时,所有剩余的参数都会被收集到 `args.other_args` 列表中。
例如,如果我们运行以下命令:
```bash
$ python script.py Alice --foo bar --baz
```
我们将会得到以下输出:
```
Name: Alice
Other arguments: ['--foo', 'bar', '--baz']
```
注意,`--foo` 和 `bar` 等参数并没有被解析成命令行参数,而是被收集到了 `args.other_args` 列表中。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)