zoukankan      html  css  js  c++  java
  • python修改函数命名方式

    在程序中,尽管有一些建议和要求,但是还是有可能会使得程序代码的命名方式不一致,对于函数命名方式不一致,下面的Python程序给出了一种解决方式:

    #! /usr/bin/env python
    #
    coding=utf-8

    # author: ubunoon
    #
    email: netubu # gmail.com
    #
    date: 2011-2-22
    #
    blog: http://www.cnblogs.com/ubunoon
     # http://www.qtrstudio.com/blog

    import re
    import shutil

    func
    = re.compile(r'^def\s(\w+)')
    name
    = re.compile(r'^[a-zA-Z]+(_[a-z])*')

    def replaceFuncName(func_name):
    while '_' in func_name:
    value
    = name.search( func_name )
    if value is not None:
    k
    = value.groups()[0]
    if k is not None:
    func_name
    = func_name.replace(k, k[1].upper())

    return func_name

    def processLine(lines):
    new_lines
    = []
    for line in lines:
    value
    = func.match(line)
    if value is not None:
    func_name
    = value.groups()[0]
    value
    = name.match( func_name )
    new_func_name
    = replaceFuncName( func_name)

    line
    = line.replace( func_name, new_func_name )

    new_lines.append(line)

    return new_lines

    if __name__ == '__main__':
    with open(
    'utils.py') as ut:
    new_lines
    = processLine( ut.readlines() )

    shutil.copy(
    'utils.py', 'utils.py.bak' )

    with open(
    'utils.py', 'w') as ut:
    ut.writelines( new_lines )

    修改正则表达式,则很容易修改其他语言中关于函数的定义和类定义。

    有几个小问题:

    1、class下面的方法名不会被修改

    2、如果是Title方式的命名,并不会进行修改Ttile的命名

    # copyright:2011 Copright, All right reserved.

    my pearl:

    http://zjyuezz.cn.alibaba.com/

    /*
    *
    * Copyright (c) 2011 Ubunoon.
    * All rights reserved.
    *
    * email: netubu#gmail.com replace '#' to '@'
    * http://www.cnblogs.com/ubunoon
    * 欢迎来邮件定制各类验证码识别,条码识别,图像处理等软件
    * 推荐不错的珍珠饰品,欢迎订购 * 宜臣珍珠(淡水好珍珠) */
  • 相关阅读:
    用php实现一个双向队列 如何实现?
    extract函数行结果
    替换指定字符串中,键对应的键值
    php裁剪图片(支持定点裁剪)
    Swoole和Swoft的那些事 (Http/Rpc服务篇)
    FineCMS介绍
    打造属于自己的比特币钱包
    数据可视化的艺术
    如何通过织云 Lite 愉快地玩转 TSW
    你想知道的大数据知识都在这里
  • 原文地址:https://www.cnblogs.com/ubunoon/p/1961799.html
Copyright © 2011-2022 走看看