python应用案例
常用包:图片处理(PIL或Pillow)、网页解析(goose)、工具包下载安装(easy_install、pip)、数据库(MySQLdb)、Web开发(Django)、机器学习(numpy、pandas、scipy)、游戏开发(PyGame)、文件操作(os)
相关链接:http://blog.csdn.net/Gamer_gyt/article/details/46279915
http://www.cnblogs.com/txw1958/p/python-tutorial-list.html
http://www.lfd.uci.edu/~gohlke/pythonlibs/#libxml-python
(一)批量处理图片 PIL(Image、ImageDraw、ImageFont)、os、time(时间戳)
import os,time
from PIL import Image,ImageDraw,ImageFont #源文件夹,目标文件夹,字体文件,屏幕分辨率(宽度,高度)
srcpath, destpath, fontfile = r".\src", r"..\dest", r"..\font\301-CAI978.ttf"
width, height = 640.0, 1136.0
def zoomSize(filename,imgtype):
imgtype = "jpeg" if imgtype=="jpg" else "png"
#获取文件创建时间 例:1483882912.37 Sun Jan 08 21:41:52 2017
t= time.ctime(os.path.getctime(filename))
print filename +" 创建时间:"+ t
im = Image.open(filename) #默认mode="r"
#在图片上添加创建时间
draw = ImageDraw.Draw(im)
fontsize = min(im.size)/30
font = ImageFont.truetype(fontfile, fontsize)
draw.text((0,im.height - fontsize),t,font=font,fill=(255,0,0))
#按比例缩放,使之适应屏幕分辨率
rate = max( im.width/width, im.height/height )
if rate!=0:
im.thumbnail((im.size[0]/rate , im.size[1]/rate)) #注:此处有两个括号,thumbnail的处理对象是元组
return im def batchZoomSize():
imgBatch = {} #字典 {文件名:对应的处理后Image对象}
#切换至源文件目录,对每张图片进行处理
os.chdir(srcpath)
for filename in os.listdir(os.getcwdu()): #列举当前目录下的所有文件
postfix = os.path.splitext(filename)[1] #获取元祖 (文件名,文件后缀)
if postfix == ".jpg" or postfix == ".png":
imgBatch[filename]=zoomSize(filename, postfix)
#切换至目标文件目录,保存图片至目标文件夹,关闭图片文件
os.chdir(destpath)
for filename in imgBatch.keys():
imgBatch[filename].save(filename)
imgBatch[filename].close()
(二)生成序列号 random(随机数)、string(字符串)
import string,random
field = string.letters + string.digits #'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789' def getRandom(size):
return "".join(random.sample(field,size)) def generate(n,group,size):
for i in range(n):
"-".join([getRandom(size) for i in range(group)]) #注意:()里面还有[],join的处理对象时列表 if __name__=="__main__":
print generate(2,4,4) #['YcwC-fzE4-93pl-ROnY', '76AI-h1Aa-BNK4-PuFR']
(三)统计单词词频 os、re(正则表达式)、collections.Counter(统计计数)
import os,re
from collections import Counter'''
获取某一文件中的英文单词词频
例:Counter({word1:num1,word2:num2})
'''
def getCount(filename):
pattern = r'''[A-Za-z]+|\$?\d+%?$'''
with open(filename) as f:
r = re.findall(pattern,f.read())
return Counter(r)
'''
将结果保存到文件中
'''
def saveFile(filename,counter):
fp = open(filename,"w")for t in counter:
fp.write(bytes(t[0]) + "," + bytes(t[1])+"\n") # 单词,词频
fp.close() count = getCount(r".\doc\1.txt")
saveFile("count.csv",count.most_common())
python应用案例的更多相关文章
- ArcGIS Python编程案例-电子资料链接
ArcGIS Python编程案例(1)-Python语言基础 https://www.jianshu.com/p/dd90816d019b ArcGIS Python编程案例(2)-使用ArcPy编 ...
- Python入门(案例)
Python入门(案例) #一.上课案例: #输出hello wordprint('hello word') #python注释有两种#1.单行注释#这是单行注释#2.多行注释'''这是多行注释''' ...
- Python 小案例实战 —— 简易银行存取款查询系统
Python 小案例实战 -- 简易银行存取款查询系统 涉及知识点 包的调用 字典.列表的混合运用 列表元素索引.追加 基本的循环与分支结构 源码 import sys import time ban ...
- python项目案例
python项目案例1:----此学习案例用python3编写,摘自明日科技,感谢! 学生管理系统: 功能描述:具有增删改查,排序,保存并显示学生的全部信息. 1.主界面---函数menu(),显示功 ...
- Python学习案例之Web版语音合成播报
前言 语音合成技术能将用户输入的文字,转换成流畅自然的语音输出,并且可以支持语速.音调.音量设置,打破传统文字式人机交互的方式,让人机沟通更自然. 应用场景 将游戏场景中的公告.任务或派单信息通过语音 ...
- Python学习案例之视频人脸检测识别
前言 上一篇博文与大家分享了简单的图片人脸识别技术,其实在实际应用中,很多是通过视频流的方式进行识别,比如人脸识别通道门禁考勤系统.人脸动态跟踪识别系统等等. 案例 这里我们还是使用 opencv 中 ...
- 【菜鸟学Python】案例一:汇率换算
汇率换算V1.0 案例描述: 设计一个汇率换算器程序,其功能是将外币换算成人民币,或者相反 案例分析: 分析问题:分析问题的计算部分: 确定问题:将问题划分为输入.处理及输出部分: 设计算法:计算部分 ...
- python经典案例
前言:初学者对python的流程语句有一定的了解,但是运用起来总会磕磕碰碰.本文总结了一些初学者在学习python时做的经典案例 一.名片管理系统(限单个名片) info = {'name':'jam ...
- python实战案例--银行系统
stay hungry, stay foolish.求知若饥,虚心若愚. 今天和大家分享一个python的实战案例,很多人在学习过程中都希望通过一些案例来试一下,也给自己一点动力.那么下面介绍一下这次 ...
- 查找算法:二分法查找及其python实现案例
承接上一篇:查找:顺序查找与二分法查找,将二分法更多详细的python实现解题写下笔记. 简单方法 ''' 二分法查找在列表中的用户输入值,返回index 三种情况跳出循环体: LR相邻 LR位置重合 ...
随机推荐
- ClassNotFoundException超限
错误日志图 被这弱智的错误吭了半个小时,项目本来好好的,然后因为改版加了很多东西,所以就超限了,一开始总是报下面那图的错,搞的我总以为是retrofit的错,但是好好的框架而且没改过,怎么可能会出错呢 ...
- 下载本 WebEnh博客 安卓APP
暂时还在学习开发安卓和苹果APP应用,写得一般,以后会更新的,谢谢大家关注.对了这个是用HTML5+写的哦.不太难,但是要搞懂还是要多花点时间了,有时间就会更新的 ... ...
- Hbase入门教程--单节点伪分布式模式的安装与使用
Hbase入门简介 HBase是一个分布式的.面向列的开源数据库,该技术来源于 FayChang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就像 ...
- Python学习笔记3-字符串
格式化字符串/复合字段名 >>> import humansize >>> si_suffixes = humansize.SUFFIXES[1000] >& ...
- loadrunner性能测试---添加windows多台压力机
添加多台压力机 1.前置条件 1)保证压力机上都安装了loadrunner Agent,并启动,状态栏中会有小卫星. 2)添加的压力机与controller所在机器是否在同一个网段,建议关 ...
- Ubuntu 15.1 unity在顶部面板显示系统CPU/内存/网络速度
全部的文件:http://files.cnblogs.com/files/xiaobo-Linux/ubuntu%E6%98%BE%E7%A4%BA%E7%B3%BB%E7%BB%9F%E7%BD%9 ...
- 阿里技术协会好文推荐:Android绘制流程http://click.aliyun.com/m/8719/
一.前言 1.1.C++界面库 MFC.WTL.DuiLib.QT.Skia.OpenGL.Android里面的画图分为2D和3D两种: 2D是由Skia 来实现的,3D部分是由OpenGL实现的. ...
- SSH整合
首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框 ...
- python学习3
这部分学习python函数的写法: 在写python函数之前,首先看一下python中已经写好的函数,就像C中的<math>中的那些函数一样的东西有哪些:网址为https://docs.p ...
- HTML5 & 三年二班周杰伦
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...