从代码签名自动生成/转换docstrings

pyment的Python项目详细描述


pyment
==


在现有python文件中创建、更新或转换docstring,管理多个样式。

……内容::本地:

description
——


此python程序(2.7+/3+,如果安装了argparser,则为2.6)旨在帮助python程序员使用docstring增强内部代码文档。
对于没有文档记录的代码或没有docstring的代码非常有用,或者一些尚未或部分文档化的代码,或者所有这些代码的混合:)
协调或更改项目docstring样式的格式也会有帮助。

它将解析一个或多个python脚本并检索现有的docstring。
然后,对于找到的所有函数/方法/类,它将将生成带参数、默认值的格式化docstring,…

最后,为每个文件生成修补程序。然后,man可以将补丁应用于初始脚本。
一个选项允许直接更新文件而不生成补丁。
还可以使用新的docstring生成python文件,或者仅检索docstring…

输入/输出中的托管样式有javadoc、rest的一种变体(重新构造的文本,由sphinx使用)、numpydoc、google docstrings,组(其他分组样式)。


您还可以通过命令行或配置文件配置一些设置。


若要获取更多信息,请参阅"文档"https://github.com/dadadel/pyment/blob/master/doc/sphinx/source/pyment.rst>;`

该工具当时提供生成修补程序或获取新文档字符串(已创建或转换)列表的功能。


安装:

…代码块::sh

$git install pyment

$pip install git+https://github.com/dadadel/pyment.git

-从命令行运行:

。代码块:sh

$pyment myfile.py将生成修补程序
$pyment-w myfile.py;将覆盖文件




代码块::sh

$pyment my/folder/

-获取帮助:

…代码块::sh

$pyment-h

-从脚本运行:

…代码块::python


import os
from pyment import pycomment

filename='test.py'

c.proceed()
c.diff_to_文件(os.path.basename(filename)+".patch")
c.获取输出文档():
打印

代码块::python

def func(param1=true,param2='default val'):
''docstring groups样式的func描述。

params:
param1-默认值为true的param1的descr。
param2-param2的descr



引发:
keyerror:引发键异常
typeerror:引发类型异常

'
传递


a类:
def方法(self,param1,param2=none):
通过

现在让我们使用pyment:

…代码块:sh

$pyment test.py

代码块:patch

pyment v0.2.0生成的patch

---a/test.py
+++b/test.py
@-1,20+1,22@
def func(param1=true,param2='default val'):
-''使用docstring groups样式描述func。
+''使用docstring groups样式描述func。

-params:
-param1-默认值为true的param1的descr。
-param2-param2的descr
+:param param1:默认值为true的param1的descr
+:param param2:param2的descr(默认值='默认值')
+:返回:一些值
+:引发键错误:引发键异常
+:引发类型错误:引发类型异常

-返回:
-某些值
-
-引发:
-键错误:引发键异常
-类型错误:引发类型异常
-
-'
+"""
pass

+"类:
+"""
def方法(self,param1,param2=none):
+"
+
+:param1:
+:param param2:(默认值=无)
+
+"""
通过


使用以下命令最终应用修补程序:

…代码块::sh

$patch-p1<;test.py.patch


代码块::python

def func(param1=true,param2='default val'):
"具有docstring groups样式的func的说明"。

:param param1:默认值为true的param1的descr
:param param2:param2的descr(默认值='default val')
:返回:一些值
:引发键错误:引发键异常
:引发类型错误:引发类型异常

"
pass


class a:
"""
def method(self,param1,param2=none):
"


:param param1:
:param param2:(默认值=无)

"
pass

另请参阅文件'example.py.patch<;https://github.com/dadadel/pyment/blob/master/example.py.patch>;``或'example\numpy.patch<;https://github.com/dadadel/pyment/blob/master/example_mpy.py.patch>;``查看在处理文件'example.py<;https://github.com/dadadel/pyment/blob/master/example.py>;`



提供咖啡或啤酒
我很乐意:)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在Java和Javascript之间共享常量   c#无法使用Gson反序列化字节[]   如果字符串是实十进制数字,则在Java中仅显示十进制数字   与Android Studio的java FireBase同步失败   web应用程序的Java Oracle数据库更改通知问题   数组中缺少整数的java嵌套循环   zos在z/os上以TOD格式(一天中的时间)转换Java时间戳   java JAXB未根据注释生成XML(JDK 1.7)   java使用Twitter4j和Geolocation查找在该地区发布推文的用户,但如何获取用户ID?   在Libgdx中实现简单运动模糊的java意外结果   java在Android数据库中插入另一个EditText值?   java标准偏差数组(我的算法错误)   java如何修复M1 Mac的Ant javascript标记?   java遍历树标记值的长度   java理解Springboot中的Cron,自动发送电子邮件   java如何将“Data.Json”文件从资产保存到内部存储器,然后将其用于读/写   java代码在编写FirstDuplicate方法时会遇到时间限制问题   java将HTML转换为PDF并将其添加到段落中   javascript css()未设置正文标记的背景属性