不知道你是不是用vi,如果是的话,可以用这段代码,我是放在缺省路径下的,取名为pyTool
在vi的一个函数行进入命令模式,命令为 :pyTool -func
就会给当前这个函数生成注释
类上 运行 :pyTool -cloass
就会给当前类生成注释
代码如下
#!/bin/env python
#coding:utf-8
import os,sys,re
import re,time
class PyAnsy:
author = 'dream.people'
def Now(self):
return "%04d/%02d/%02d %02d:%02d" % time.localtime()[:5]
def GetFile(self,filename):
_lines = []
if filename == '':
while True:
_line = sys.stdin.readline()
if _line == '':
break
_lines.append(_line)
else:
_lines = open(filename,"r").readlines()
return _lines
def ClassComment(self):
line = self.GetFile('')[0]
if line == '':
return
g = re.match("^( *)class *([^(:]*).*",line)
if g == None:
print line
return
blank,classname = g.groups()
blank += " "
comment = blank + '"""\n'
comment += blank + '@author : %s\n' % self.author
comment += blank + 'comment : \n'
comment += blank + 'create date : %s\n' % self.Now()
comment += blank + '-----------------------------------------\n'
comment += blank + 'modify date : \n'
comment += blank + '@author : \n'
comment += blank + 'reason : \n'
comment += blank + '"""'
print line.rstrip()
print comment
def FuncComment(self):
line = self.GetFile('')[0]
if line == '':
return
g = re.match("^( *)def *([^(]*)\(([^)]*)\).*",line)
if g == None:
print line
return
blank,fname,params = g.groups()
params = params.split(",")
blank += " "
comment = blank + '"""\n'
comment += blank + '@author : %s\n' % self.author
comment += blank + 'comment : \n'
comment += blank + 'parameter : \n'
for param in params:
comment += blank + ' %s - \n' % param
comment += blank + 'return value: \n'
comment += blank + 'create date : %s\n' % self.Now()
comment += blank + '-----------------------------------------\n'
comment += blank + 'modify date : \n'
comment += blank + '@author : \n'
comment += blank + 'reason : \n'
comment += blank + '"""'
print line.rstrip()
print comment
ansy = PyAnsy()
if len(sys.argv) < 2:
print """命令行: pyTool option [filename]
选项:
-func 添加函数备注
"""
sys.exit(-1)
flag = sys.argv[1]
if len(sys.argv) != 3:
filename = ''
else:
filename = sys.argv[2]
if flag == '-func':
ansy.FuncComment()
elif flag == '-class':
ansy.ClassComment()
else:
sys.exit(-1)
分享到:
相关推荐
全面介绍VI,有实例做练习,快速学习Linux经典的VI编辑器
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令...Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。
Vi 是Unix世界里极为普遍的全屏幕文本编辑器,VIM是它的改进版本Vi IMproved的简称。几乎可以说任何一台Unix机器都会提供这套软件。Linux当然也有,它的 vi 其实是 elvis(版权问题),不过它们都差不多。熟悉 DOS ...
linux vi 入门级视频教程,初学者的挚爱!
linux下vi使用
介绍了linux vi的一些命令,使你更方便的学习vi,熟悉linux
linux 的VI键盘图 一目了然 学VI。
linux vi 命令详解,关于linux vi 命令的详细解释
VI文件转化为C语言代码,将labview的VI代码转换成c语言的代码,操作不算复杂,可以试着转换一下,不懂的地方可以私信我。
linux Vi编辑工具 使用图示linux Vi编辑工具 使用图示linux Vi编辑工具 使用图示linux Vi编辑工具 使用图示
linux基本命令大全, linux下vi命令大全
linux vi 命令 整理 vi的常用命令
详细描述了Linux下vi命名的使用与一些常用的技巧
通常在linux中,按下上述字母时,左下方会出现'INSERT'或者‘REPLACE’字样,才可以输入任何文字到文件中.要回到一般模式,按下[ESC]键即可. c) 命令行模式:在一般模式中,输入“: 或者/或者?”,即可将光标移动到最...
linux vi命令大全 linux vi命令大全 linux vi命令大全
linux vi 详细使用手册 详细介绍VI的各个命令。
Linux下VI的使用
linux中vi的一些常见命令
linux 中常用的vi指令Vi指令大全 进入vi的命令 vi filename: 打开或新建文件,并将光标置于第一行首 vi +n filename: 打开文件,并将光标置于第n行首 vi + filename: 打开文件,并将光标置于最后一行首 vi +/...
详解linux vi命令用法