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


Posted in Python onSeptember 02, 2016

前言

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

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

#!/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中Continue语句的用法的举例详解
May 14 Python
Python 网页解析HTMLParse的实例详解
Aug 10 Python
python使用Apriori算法进行关联性解析
Dec 21 Python
Python for循环生成列表的实例
Jun 15 Python
pandas的唯一值、值计数以及成员资格的示例
Jul 25 Python
详解PyCharm配置Anaconda的艰难心路历程
Aug 13 Python
python程序封装为win32服务的方法
Mar 07 Python
python 提取key 为中文的json 串方法
Dec 31 Python
Django上使用数据可视化利器Bokeh解析
Jul 31 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
Aug 12 Python
Python+Opencv身份证号码区域提取及识别实现
Aug 25 Python
python中温度单位转换的实例方法
Dec 27 Python
利用Python获取操作系统信息实例
Sep 02 #Python
好用的Python编辑器WingIDE的使用经验总结
Aug 31 #Python
Linux下为不同版本python安装第三方库
Aug 31 #Python
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
Aug 30 #Python
分享Python开发中要注意的十个小贴士
Aug 30 #Python
Python将图片批量从png格式转换至WebP格式
Aug 22 #Python
利用Python批量生成任意尺寸的图片
Aug 29 #Python
You might like
MOTOROLA 摩托罗拉 MODEL 66-XI五灯中波收音机
2021/03/02 无线电
php中将数组转成字符串并保存到数据库中的函数代码
2013/09/29 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
yii2简单使用less代替css示例
2017/03/10 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
JQuery分别取得每行最后一列和最后一行的示例代码
2013/08/18 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
2014/02/12 Javascript
jquery专业的导航菜单特效代码分享
2015/08/29 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
详谈javascript异步编程
2016/02/21 Javascript
总结十个Angular.js由浅入深的面试问题
2016/08/26 Javascript
详解微信小程序开发之城市选择器 城市切换
2017/01/17 Javascript
基于VUE的v-charts的曲线显示功能
2019/10/01 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
python的id()函数解密过程
2012/12/25 Python
wxPython中listbox用法实例详解
2015/06/01 Python
PyQt5每天必学之布局管理
2018/04/19 Python
Python实现提取XML内容并保存到Excel中的方法
2018/09/01 Python
对python中数组的del,remove,pop区别详解
2018/11/07 Python
Python 文本文件内容批量抽取实例
2018/12/10 Python
对python读取zip压缩文件里面的csv数据实例详解
2019/02/08 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
2020/02/06 Python
keras中模型训练class_weight,sample_weight区别说明
2020/05/23 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
解决python 执行sql语句时所传参数含有单引号的问题
2020/06/06 Python
Python txt文件常用读写操作代码实例
2020/08/03 Python
css3实现顶部社会化分享按钮示例
2014/05/06 HTML / CSS
css3 clip实现圆环进度条的示例代码
2018/02/07 HTML / CSS
美国轮胎网站:Priority Tire
2018/11/28 全球购物
造价工程师个人求职信
2013/09/21 职场文书
电钳专业个人求职信
2014/01/04 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书
大学体育课感想
2015/08/10 职场文书
Python机器学习之KNN近邻算法
2021/05/14 Python
MYSQL 无法识别中文的永久解决方法
2021/06/03 MySQL