草庐IT

sphinx-argparse

全部标签

python - 使 Python 的 argparse 执行默认操作

我正在使用argparse的操作将各种数据添加到类中。如果命令行中未提供该arg,我想对默认值使用该操作。这可能吗?谢谢! 最佳答案 argparse在应用default时不使用action。它只使用setattr。如果默认为字符串,它可能会使用type。但是您可以直接调用action。这里我使用了从文档中借用的自定义操作类。在第一个parse_args中没有任何反应。然后我创建一个新的namespace,并调用默认的操作。然后我将该namespace传递给parse_args。要理解这一点,您需要将其导入交互式shell,并检查命

python - 请解释 argparse 模块代码片段背后的推理

我正在查看内置argparse._AppendAction的源代码,它实现了"append"Action,并对wayitisimplemented感到困惑:def__call__(self,parser,namespace,values,option_string=None):items=_copy.copy(_ensure_value(namespace,self.dest,[]))items.append(values)setattr(namespace,self.dest,items)分解:_ensure_value类似于属性的dict.setdefault。也就是说,如果nam

python - Sphinx 的 .. include::directive 和 "duplicate label"警告

我正在尝试使用Sphinx的..include::directive将一个文件中的文档包含在另一个文件中,以避免重复文档的源文本。我包含的部分位于configuration.rst(它是配置设置引用文档的一部分),它包含一些用于交叉引用每个配置设置的标签:..start_config-authorization.._ckan.auth.anon_create_dataset:ckan.auth.anon_create_dataset^^^^^^^^^^^^^^^^^^^^^^^^^^^^^Example::ckan.auth.anon_create_dataset=FalseDefau

python - Sphinx 覆盖生成空的 python.txt 文件

我正在使用Sphinx记录我的项目。我启用了sphinx.ext.coverage我的配置文件中的扩展名。我正在运行以下命令来生成覆盖率报告(按照thisanswer的指导:bash-3.2$sphinx-build-v-bcoverage._build/coverage/Makingoutputdirectory...RunningSphinxv1.2.3loadingpickledenvironment...notyetcreatedbuilding[coverage]:coverageoverviewupdatingenvironment:10added,0changed,0re

python - 修改 Sphinx TOC 树

我有一个Sphinx项目,其目录(index.rst)包括:maxdepth:2。问题是我想将release部分的深度减少到1,这样它就不会在主目录中包含发行说明列表(该列表太长)。似乎可以使用doctree-resolved事件处理程序修改TOC列表,但我不知道如何在事件处理程序中修改TOC树:fromsphinximportaddnodesdefsetup(app):defupdate_toctree(app,doctree,docname):ifdocname!='index':returnnode=doctree.traverse(addnodes.toctree)[0]toc

python - 属性的 Sphinx 值报告为无

当我使用Sphinxautodoc来记录一个类时,总是会报告属性的值(正如它所说的那样here,在#437下)但总是“=None”Attribute=NoneSomeDocumentation我把它包括在内..autoclass::core.SomeClass:members:我的代码看起来像classSomeClass(object):def__init__(self):self.attribute="value"#:SomeDocumentation有没有办法让“=None”报告真实值,或者让它消失? 最佳答案 会有一个:ann

python - 禁用 argparse 和 optparse 的唯一前缀匹配

当我使用Python的argparse或optparse命令行参数解析器时,参数的任何唯一前缀都被认为是有效的,例如$./buildall.py--helpusage:buildall.py[-h][-f]Buildallrepositoriesoptionalarguments:-h,--helpshowthishelpmessageandexit-f,--forceBuilddirtyrepositories与--help、--hel、--he一起用于帮助选项以及--forc和--fo用于强制选项。可以以某种方式关闭此行为吗?我想收到不完整参数的错误消息。

python - 在 Sphinx 文档中显示*仅*文档字符串?

Sphinx有一个名为automethod的功能,它可以从方法的文档字符串中提取文档并将其嵌入到文档中。但它不仅嵌入了文档字符串,还嵌入了方法签名(名称+参数)。如何仅嵌入文档字符串(不包括方法签名)?引用:http://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html 最佳答案 我想你要找的是:fromsphinx.extimportautodocclassDocsonlyMethodDocumenter(autodoc.MethodDocumenter):def

python - 是否可以针对特定功能覆盖 Sphinx autodoc?

我正在使用Sphinx的autodoc插件来自动记录一组模块。我有一个接受*args的函数,我想覆盖文档以显示更好的funcname(arg1[,arg2[,...]])Pythonstdlib文档使用的样式。是否可以覆盖特定函数的autodoc输出? 最佳答案 可以使用autofunction覆盖签名:..automodule::yourmodule:members::exclude-members:funcname..autofunction::funcname(arg1[,arg2[,...]])但是,具有覆盖签名的函数不会与

帮助字符串中出现 '%' 的 Python argparse 错误

我有一个包含“%”的默认值,我也将其插入到我的参数的帮助文档中。例如:default="5%foo"animrender_group.add_argument("--foo",default=default,help="Fooamount.Default:%s"%default,)args=parser.parse_args()parse_args()上的Argparse错误[snip]args=parser.parse_args()[snip]"../python2.5/site-packages/argparse.py",line622,in_expand_helpreturnse