如何查看argparse.NameSpacePython对象的属性?
How to see the attributes of argparse.NameSpace Python object?
对于涉及多个脚本(数据处理、模型调整、模型训练、测试等)的项目,我可能会保留我所有的 <class 'argparse.ArgumentParser'>
对象作为每个脚本的函数的 return 值我命名为 cli.py
的模块中的任务。但是,在调用脚本本身 (__main__
) 中,在调用 args = parser.parse_args()
之后,如果我在 VS Code 中键入 args.
,我不会得到特定于该对象的建议属性。 如何在 VS Code 中获取 argparse.NameSpace
对象的建议属性?
例如,
"""Module for command line interface for different scripts."""
import argparse
def some_task_parser(description: str) -> argparse.ArgumentParser:
parser = argparse.ArgumentParser(description=description)
parser.add_argument('some_arg')
return parser
然后
"""Script for executing some task."""
from cli import some_task_parser
if __name__ == '__main__':
parser = some_task_parser('arbitrary task')
args = parser.parse_args()
print(args.) # I WANT SUGGESTED ATTRIBUTES (SUCH AS args.some_arg) TO POP UP!!
我不知道 VSCode,在 ipython
会话中,选项卡完成确实显示了 Namespace
的可用属性。 argparse.Namespace
是一个比较简单的对象class。我想你想要的只是这个对象的attributes
。
In [238]: args = argparse.Namespace(test='one', foo='three', bar=3)
In [239]: args
Out[239]: Namespace(bar=3, foo='three', test='one')
In [240]: args.
bar test
foo args.txt
但这些属性在开发过程中将不可用。它们由解析操作在 运行 时间放在那里。它们无法从 parser
设置中可靠地推断出来。当然argparse
不提供这样的帮助。
我经常建议开发人员包括一个
print(args)
在调试阶段,这样他们就可以清楚地了解解析器的作用。
对于涉及多个脚本(数据处理、模型调整、模型训练、测试等)的项目,我可能会保留我所有的 <class 'argparse.ArgumentParser'>
对象作为每个脚本的函数的 return 值我命名为 cli.py
的模块中的任务。但是,在调用脚本本身 (__main__
) 中,在调用 args = parser.parse_args()
之后,如果我在 VS Code 中键入 args.
,我不会得到特定于该对象的建议属性。 如何在 VS Code 中获取 argparse.NameSpace
对象的建议属性?
例如,
"""Module for command line interface for different scripts."""
import argparse
def some_task_parser(description: str) -> argparse.ArgumentParser:
parser = argparse.ArgumentParser(description=description)
parser.add_argument('some_arg')
return parser
然后
"""Script for executing some task."""
from cli import some_task_parser
if __name__ == '__main__':
parser = some_task_parser('arbitrary task')
args = parser.parse_args()
print(args.) # I WANT SUGGESTED ATTRIBUTES (SUCH AS args.some_arg) TO POP UP!!
我不知道 VSCode,在 ipython
会话中,选项卡完成确实显示了 Namespace
的可用属性。 argparse.Namespace
是一个比较简单的对象class。我想你想要的只是这个对象的attributes
。
In [238]: args = argparse.Namespace(test='one', foo='three', bar=3)
In [239]: args
Out[239]: Namespace(bar=3, foo='three', test='one')
In [240]: args.
bar test
foo args.txt
但这些属性在开发过程中将不可用。它们由解析操作在 运行 时间放在那里。它们无法从 parser
设置中可靠地推断出来。当然argparse
不提供这样的帮助。
我经常建议开发人员包括一个
print(args)
在调试阶段,这样他们就可以清楚地了解解析器的作用。