草庐IT

sphinx-argparse

全部标签

python - 使 Sphinx 从 pydoc 生成 RST 类文档

我目前正在将所有现有(不完整)文档迁移到Sphinx.问题是文档使用了Pythondocstrings(该模块是用C语言编写的,但它可能并不重要)并且必须将类文档转换为可用于Sphinx的形式。有sphinx.ext.autodoc,但它会自动将当前文档字符串放入文档中。我想根据当前的文档字符串在(RST)中生成一个源文件,然后我可以手动编辑和改进它。您如何将文档字符串转换为Sphinx的RST? 最佳答案 autodoc确实会生成RST,只是没有正式的方法可以从中删除它。最简单的破解方法是更改​​sphinx.ext.autodo

java - 使用 Python-Sphinx 解析 javadoc

我使用部分包含Java和Python代码的共享存储库。代码基础以python为主,部分库用java编写。是否有可能解析或预处理Java文档以便使用稍后在Python-Sphinx甚至插件中? 最佳答案 javasphinx(Github)(Documentation)我花了很长时间才找到所有重要的细节来设置它,所以这里有一个简短的说明来解决我所有的麻烦。安装#Recommendworkinginvirtualenvironmentswithlatestpip:mkdirdocs;cddocspython3-mvenvenvsourc

Python argparse 正则表达式

是否可以使用正则表达式来解析参数?例如,我想接受一个长度为32的十六进制参数(即匹配/[a-f0-9A-F]{32}/)我试过了p.add_argument('hex',type=str,nargs="[a-f0-9A-F]{32}")没有成功 最佳答案 type关键字参数可以采用任何接受单个字符串参数并返回转换值的可调用对象。如果可调用对象引发argparse.ArgumentTypeError、TypeError或ValueError,则会捕获异常并显示格式正确的错误消息。importargparseimportrefromuu

python - 有没有办法使用 doctest 和 sphinx 来测试和记录命令行应用程序?

我有一个Python模块,我正在为其编写一个使用Sphinx的教程,包括doctests。这个模块带有一些辅助程序。我想在文档中包含这些帮助程序并且让doctest检查标准输出是否在当前程序版本和文档之间同步。我想我可以使用sh模块或popen来检查给定程序的标准输出,但我希望这些技巧不要出现在文档中,否则非程序员用户肯定会迷路。有什么办法可以实现吗? 最佳答案 doctest模块仅检查可以从python交互式提示运行的语句。可以使用subprocess从python交互式提示调用命令行工具模块:#CreateHelperFunct

Python argparse 允许组合标志

argparse是否可以像这样解析组合标志:app.py-bcdasomething在这种情况下,我希望将something设置为-a,其余的将存储为True。基本上:app.py-b-c-d-asomething我知道大多数程序都允许这样做,例如grep-rEw,但是用argparse来做这件事有多难? 最佳答案 您可以使用store_const实现此目的:parser=argparse.ArgumentParser()parser.add_argument('-a',action='store_const',const=True

python - 在 Lucene/Solr、Whoosh、Sphinx、Xapian 中,哪个与 Python 集成得最好?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我是一家初创公司的编码新手,我正在Web主机的目录中实现文档搜索。我正在比较Lucene/Solr、Whoosh、Sphinx和Xapian。Whoosh本身就是Python。但我也想听听你的意见。其中哪些有成熟且易于使用和安装的python接口(interface)?(嗖嗖声是显而易见的)不会出现崩溃、瓶颈和其他故障最佳文档界面(我不阅读PHP文档,因

python - 在 Sphinx 文档中保留包装/修饰的 Python 函数的默认参数

如何在修饰函数的文档中用真实签名替换*args和**kwargs?假设我有以下装饰器和装饰函数:importfunctoolsdefmywrapper(func):@functools.wraps(func)defnew_func(*args,**kwargs):print('WrappingHo!')returnfunc(*args,**kwargs)returnnew_func@mywrapperdefmyfunc(foo=42,bar=43):"""ObscureAddition:paramfoo:bar!:parambar:blabla:return:foo+bar"""ret

python - 您可以在 Sphinx 侧边栏中重命名 "table of contents"吗?

更一般地说,如何重命名Sphinx默认元素(例如QuickSearch为Search)?可以吗? 最佳答案 以下是如何通过覆盖模板将“快速搜索”更改为其他内容:创建一个名为templates的文件夹在Sphinx项目目录中。复制/themes/basic/searchbox.html至templates.在conf.py中,添加templates_path=["templates"]在searchbox.html的副本中将“快速搜索”重命名为您想要的任何名称.但我不会这样做。一种更灵活的方法是创建一个gettextMO文件并设置配置

python - 如何使 Python/Sphinx 文档对象属性仅在 __init__ 中声明?

我有带有对象属性的Python类,这些对象属性仅作为运行构造函数的一部分声明,如下所示:classFoo(object):def__init__(self,base):self.basepath=basetemp=[]forruninos.listdir(self.basepath):ifself.foo(run):temp.append(run)self.availableruns=tuple(sorted(temp))如果我现在使用help(Foo)或尝试在Sphinx中记录Foo,self.basepath和self.availableruns属性未显示。这对我们API的用户来说

Python argparse : Combine optional parameters with nargs=argparse. 剩余部分

我一定遗漏了一些明显的东西。目标是使用argparse,第一个参数是必需的,第二个是可选的,其他任何剩余参数都是可选的。为了展示这个问题,我制作了两个测试解析器;它们之间的唯一区别是在一个中使用nargs=argparse.REMAINDER而在另一个中使用nargs='*'。defdoParser1(argsin):parser=argparse.ArgumentParser(description='Parserdemo.')parser.add_argument('req1',help='firstrequiredparameter')parser.add_argument('-