Python实现自动添加脚本头信息的示例代码

760次阅读  |  发布于5年以前

前言

每个人写脚本时的格式都会有所不同,有的会注明脚本本身的一些信息,有的则开门见山,这在小团队里其实没什么,基本别人做什么你也都知道,但如果放到大的团队就比较麻烦了,因为随着人数的增多,脚本成指数增长,如果每个人风格不统一,到最后就会造成非常大的弊端,所以当团队人数增长后,就必须有一套标准,形成大家统一的编码规则,这样即使不看脚本具体实现,也知道这个脚本的功能是什么。

我们今天分享的一段脚本是自动添加注释信息的脚本,添加的信息包括脚本名称、作者、时间、描述、脚本用法、语言版本、备注等,下面来看示例代码


    #!/usr/bin/env python


    from os.path import exists
    from time import strftime
    import os

    title = raw_input("Enter a title for your script: ")

    title = title + '.py'

    title = title.lower()

    title = title.replace(' ', '_')

    if exists(title):
      print "\nA script with this name already exists."
      exit(1)

    descrpt = raw_input("Enter a description: ")
    name = raw_input("Enter your name: ")
    ver = raw_input("Enter the version number: ")
    div = '======================================='

    filename = open(title, 'w')

    date = strftime("%Y%m%d")

    filename.write('#!/usr/bin/python')
    filename.write('\n#title\t\t\t:' + title)
    filename.write('\n#description\t\t:' + descrpt)
    filename.write('\n#author\t\t\t:' + name)
    filename.write('\n#date\t\t\t:' + date)
    filename.write('\n#version\t\t:' + ver)
    filename.write('\n#usage\t\t\t:' + 'python ' + title)
    filename.write('\n#notes\t\t\t:')
    filename.write('\n#python_version\t\t:2.6.6')
    filename.write('\n#' + div * 2 + '\n')
    filename.write('\n')
    filename.write('\n')

    filename.close()

    os.system("clear") 

    os.system("vim +12 " + title)
    exit()

脚本不做过多解释了,基本就是获取信息,然后写入一个文件中,其它不废话了,这个脚本足够简单了,我们最后来看看生成的结果:


    #!/usr/bin/python
    #title         :test4.py
    #description      :I am test script
    #author         :python技术
    #date          :20160902
    #version        :0.1
    #usage         :python test4.py
    #notes         :
    #python_version     :2.6.6
    #==============================================================================

总结

大家想一下,如果每个脚本前面都有这些基本信息,是不是看起来会清晰很多,最后希望这个脚本给给大家带来些帮助,当然如果有任何问题可以留言交流。谢谢大家对脚本之家的支持。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8