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 时间操作例子和时间格式化参数小结
Apr 24 Python
Python使用正则匹配实现抓图代码分享
Apr 02 Python
python抓取并保存html页面时乱码问题的解决方法
Jul 01 Python
深入分析python数据挖掘 Json结构分析
Apr 21 Python
Python获取指定字符前面的所有字符方法
May 02 Python
Python多进程池 multiprocessing Pool用法示例
Sep 07 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
Feb 16 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
Apr 01 Python
如何定义TensorFlow输入节点
Jan 23 Python
Pycharm中切换pytorch的环境和配置的教程详解
Mar 13 Python
python爬虫请求头设置代码
Jul 28 Python
Django自带的用户验证系统实现
Dec 18 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
PHP Class&Object -- 解析PHP实现二叉树
2013/06/25 PHP
PHP使用mkdir创建多级目录的方法
2015/12/22 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
2016/10/11 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
2018/10/16 PHP
心扬JS分页函数代码
2010/09/10 Javascript
关于JS字符串函数String.replace()
2013/04/07 Javascript
JavaScript的漂亮的代码片段
2013/06/05 Javascript
js 文本滚动效果的实例代码
2013/08/17 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
Node.js的npm包管理器基础使用教程
2016/05/26 Javascript
JS常见疑难点分析之match,charAt,charCodeAt,map,search用法分析
2016/12/25 Javascript
bootstrap table实例详解
2017/01/06 Javascript
详解Vue中watch的详细用法
2018/11/28 Javascript
基于nodejs的微信JS-SDK简单应用实现
2019/05/21 NodeJs
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
javascript将16进制的字符串转换为10进制整数hex
2020/03/05 Javascript
JavaScript实现简单的图片切换功能(实例代码)
2020/04/10 Javascript
Vue toFixed保留两位小数的3种方式
2020/10/23 Javascript
python每隔N秒运行指定函数的方法
2015/03/16 Python
python实现kNN算法
2017/12/20 Python
python实现自动登录
2018/09/17 Python
对python读写文件去重、RE、set的使用详解
2018/12/11 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
python实现同一局域网下传输图片
2020/03/20 Python
澳大利亚个性化儿童礼品网站:Bright Star Kids
2019/06/14 全球购物
大学军训感言200字
2014/02/26 职场文书
企业出纳岗位职责
2014/03/12 职场文书
买卖协议书范本
2014/04/21 职场文书
银行求职信范文
2014/05/26 职场文书
个人四风问题对照检查材料
2014/10/01 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
新闻稿格式范文
2015/07/18 职场文书
2015年秋季运动会前导词
2015/07/20 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书
有趣的二维码:使用MyQR和qrcode来制作二维码
2021/05/10 Python
MySql如何将查询的出来的字段进行转换
2022/06/14 MySQL