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

yipeiwu_com6年前Python基础

前言

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

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

#!/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
#==============================================================================

总结

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

相关文章

用Python批量把文件复制到另一个文件夹的实现方法

0 前言 大概是三个月前,有个人找我说要我帮忙写几行代码,功能是把一个文件夹里面的所有文件拆分成 200 个文件一个文件夹,很简单的。 我理解了之后,觉得还是挺简单的,花了半个小时写出...

python的类变量和成员变量用法实例教程

本文实例形式讲解了python的类变量和成员变量用法,对于Python程序设计有一定的参考价值。分享给大家供大家参考。具体如下: 先看看下面这段代码: class TestClass...

Python 实现将数组/矩阵转换成Image类

Python 实现将数组/矩阵转换成Image类

先说明一下为什么要将数组转换成Image类。我处理的图像是FITS (Flexible Image Transport System)文件,是一种灰度图像文件,也就是单通道图像。 FIT...

基于python requests库中的代理实例讲解

直接上代码: #request代理(proxy) """ 1.启动代理服务器Heroku,相当于aliyun 2.在主机1080端口启动Socks 服务 3.将请求转发到1080端口...

Laravel+Dingo/Api 自定义响应的实现

在最近的开发开发项目中,我使用了Dingo/Api这个第三方Api库。 Dingo是个很强大的Api库, 但在开发的过程中,需要自定义响应字段。 刚开始使用Ding/Api时,返回如下...