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操作字典类型的常用方法(推荐)
May 16 Python
python 如何快速找出两个电子表中数据的差异
May 26 Python
python中关于for循环的碎碎念
Jun 30 Python
Python基于贪心算法解决背包问题示例
Nov 27 Python
Python3多进程 multiprocessing 模块实例详解
Jun 11 Python
python os.listdir按文件存取时间顺序列出目录的实例
Oct 21 Python
python3使用flask编写注册post接口的方法
Dec 28 Python
Python使用sax模块解析XML文件示例
Apr 04 Python
python的依赖管理的实现
May 14 Python
使用Python3内置文档高效学习以及官方中文文档
May 19 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
Apr 27 Python
Python如何爬取51cto数据并存入MySQL
Aug 25 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框架的性能
2008/01/10 PHP
PHP文件读写操作之文件写入代码
2011/01/13 PHP
基于php的CMS中展示文章类实例分析
2015/06/18 PHP
PHP目录操作实例总结
2016/09/27 PHP
PHP递归删除多维数组中的某个值
2017/04/17 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
jquery 插件 人性化的消息显示
2008/01/21 Javascript
常用一些Javascript判断函数
2012/08/14 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
jQuery实现的表格展开伸缩效果实例
2016/09/07 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
关于vue-router路径计算问题
2017/05/10 Javascript
Vue.js实现价格计算器功能
2020/03/30 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
用webpack4开发小程序的实现方法
2019/06/04 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
vue中选中多个选项并且改变选中的样式的实例代码
2020/09/16 Javascript
Python中for循环详解
2014/01/17 Python
python修改字典内key对应值的方法
2015/07/11 Python
python正则表达式爬取猫眼电影top100
2018/02/24 Python
Python错误处理操作示例
2018/07/18 Python
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
Python基于smtplib模块发送邮件代码实例
2020/05/29 Python
瑞典Happy Socks美国官网:购买色彩斑斓的快乐袜子
2016/10/19 全球购物
怎样声明一个匿名的内部类
2016/06/01 面试题
蛋糕店的商业计划书范文
2014/01/27 职场文书
公司新年寄语
2014/04/04 职场文书
迎新生欢迎词
2015/01/23 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
Python连接Postgres/Mysql/Mongo数据库基本操作大全
2021/06/29 Python
Java基础——Map集合
2022/04/01 Java/Android
mysql查看表结构的三种方法总结
2022/07/07 MySQL
windows11选中自动复制怎么开启? Win11自动复制所选内容的方法
2022/07/23 数码科技