Linux给python程序添加注释,我在vi里自动给python代码生成注释的代码,linux

不知道你是不是用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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值