Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.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 如何在终端上显示标志(例如[-h])?_Python_Argparse_Flags - Fatal编程技术网

Python 如何在终端上显示标志(例如[-h])?

Python 如何在终端上显示标志(例如[-h])?,python,argparse,flags,Python,Argparse,Flags,示例屏幕截图:我想要的输出: 我想为脚本用户启用帮助标志,最初认为解决方案是使用argparse: 由于某种原因,我无法打印到cmd提示符,因为添加-h(就像我示例中的红色圆圈)会返回一个FileNotFound错误。上述代码是否不正确 如果是的话,你能给我提供代码吗? 或者是否有任何有用的来源(我一直在寻找一个明确的例子,但没有结果)尝试添加 parser=argparse.ArgumentParser(add_help=True)我无法重现此内容 so59568543.py import

示例屏幕截图:我想要的输出: 我想为脚本用户启用帮助标志,最初认为解决方案是使用argparse:


由于某种原因,我无法打印到cmd提示符,因为添加-h(就像我示例中的红色圆圈)会返回一个FileNotFound错误。上述代码是否不正确

如果是的话,你能给我提供代码吗? 或者是否有任何有用的来源(我一直在寻找一个明确的例子,但没有结果)

尝试添加


parser=argparse.ArgumentParser(add_help=True)

我无法重现此内容

so59568543.py
import argparse
parser=argparse.ArgumentParser(description='…等等…)
parser.add_参数('file1',help='…诸如此类…)
add_参数('file2',help='…诸如此类…)
args=parser.parse_args()
打印(args)
Windows 10、Python 3.7.3
欢迎来到StackOverflow。看见在您发布MRE代码并准确说明问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中,并重现您指定的问题。此外,请确保在发布之前,您已经适当地研究了示例。对于堆栈溢出来说,询问源代码是特别离题的。这是否回答了您的问题?下面是一些关于使用
argparse
模块的信息,可能会有所帮助。请参阅上的一节。@Prune是的,我会发布比上面3行更好的MRE代码,但是,在这里这样做会导致大量的代码块-特别是因为(来自@aws\u peedient提供的源代码)我遗漏了一行代码:
args=parser.parse_args()
。但是我理解你的担忧。@aws_学徒谢谢你,在我在3行代码后添加了args=parser.parse_args()之后,它现在可以工作了。但你知道为什么会这样吗?似乎我可以用任何名字代替'args'变量;解释器是否在幕后使用了此选项?
add_help
默认为true。是的,它太长了,无法复制,特别是因为错误只是省略了“args=parser.parse_args()”,如您在此处所述-谢谢。你知道这额外的一行代码是做什么的吗?解释器是否使用我不知道的变量?
parse_args()
实际解析命令行选项和参数。没有它,解析器实际上什么都不做。
parser = argparse.ArgumentParser(description='... blah blah ...')
parser.add_argument('file1', help='... blah blah ...')
parser.add_argument('file2', help='... blah blah ...')
C:\Users\X\Desktop>python so59568543.py
usage: so59568543.py [-h] file1 file2
so59568543.py: error: the following arguments are required: file1, file2

C:\Users\X\Desktop>python so59568543.py -h
usage: so59568543.py [-h] file1 file2

... blah blah ...

positional arguments:
  file1       ... blah blah ...
  file2       ... blah blah ...

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

C:\Users\X\Desktop>python so59568543.py aaa bbb
Namespace(file1='aaa', file2='bbb')

C:\Users\X\Desktop>