常用包:图片处理(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应用案例的更多相关文章

  1. ArcGIS Python编程案例-电子资料链接

    ArcGIS Python编程案例(1)-Python语言基础 https://www.jianshu.com/p/dd90816d019b ArcGIS Python编程案例(2)-使用ArcPy编 ...

  2. Python入门(案例)

    Python入门(案例) #一.上课案例: #输出hello wordprint('hello word') #python注释有两种#1.单行注释#这是单行注释#2.多行注释'''这是多行注释''' ...

  3. Python 小案例实战 —— 简易银行存取款查询系统

    Python 小案例实战 -- 简易银行存取款查询系统 涉及知识点 包的调用 字典.列表的混合运用 列表元素索引.追加 基本的循环与分支结构 源码 import sys import time ban ...

  4. python项目案例

    python项目案例1:----此学习案例用python3编写,摘自明日科技,感谢! 学生管理系统: 功能描述:具有增删改查,排序,保存并显示学生的全部信息. 1.主界面---函数menu(),显示功 ...

  5. Python学习案例之Web版语音合成播报

    前言 语音合成技术能将用户输入的文字,转换成流畅自然的语音输出,并且可以支持语速.音调.音量设置,打破传统文字式人机交互的方式,让人机沟通更自然. 应用场景 将游戏场景中的公告.任务或派单信息通过语音 ...

  6. Python学习案例之视频人脸检测识别

    前言 上一篇博文与大家分享了简单的图片人脸识别技术,其实在实际应用中,很多是通过视频流的方式进行识别,比如人脸识别通道门禁考勤系统.人脸动态跟踪识别系统等等. 案例 这里我们还是使用 opencv 中 ...

  7. 【菜鸟学Python】案例一:汇率换算

    汇率换算V1.0 案例描述: 设计一个汇率换算器程序,其功能是将外币换算成人民币,或者相反 案例分析: 分析问题:分析问题的计算部分: 确定问题:将问题划分为输入.处理及输出部分: 设计算法:计算部分 ...

  8. python经典案例

    前言:初学者对python的流程语句有一定的了解,但是运用起来总会磕磕碰碰.本文总结了一些初学者在学习python时做的经典案例 一.名片管理系统(限单个名片) info = {'name':'jam ...

  9. python实战案例--银行系统

    stay hungry, stay foolish.求知若饥,虚心若愚. 今天和大家分享一个python的实战案例,很多人在学习过程中都希望通过一些案例来试一下,也给自己一点动力.那么下面介绍一下这次 ...

  10. 查找算法:二分法查找及其python实现案例

    承接上一篇:查找:顺序查找与二分法查找,将二分法更多详细的python实现解题写下笔记. 简单方法 ''' 二分法查找在列表中的用户输入值,返回index 三种情况跳出循环体: LR相邻 LR位置重合 ...

随机推荐

  1. 有主线程发送message给子线程

    通常我们在处理耗时任务时候都会通过新建线程来处理,当任务处理完后通过Handler将结果发送回主线程.比如下面示例: package com.example.testlistener; import ...

  2. MapReduce工作流多种实现方式

    学习 hadoop,必不可少的就是编写 MapReduce 程序.当然,对于简单的分析程序,我们只需一个 MapReduce 任务就能搞定,然而对于比较复杂的分析程序,我们可能需要多个Job或者多个M ...

  3. 参加微软Ignite大会有感

    很有幸作为MVP参加了本次微软中国的年度技术大会(Ignite).跳出技术领域,这次会议给我最大的感受是态度.这几年不论是开源现有技术,还是黑科技的发布,都给人感觉微软在逐渐变得cool,但是cool ...

  4. 前端开发必备!Emmet使用手册

    介绍 Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的一个工具: 基本上,大多数的文本编辑器都会允许你存储和重用一些代码块,我们称之为"片段".虽然片 ...

  5. 卡巴斯基2017激活教程_卡巴斯基2017用授权文件KEY激活的方法

    原创:天诺时空 更新时间:2016-11-09   2016年9月7日,卡巴斯基2017版全新上市,卡巴斯基依旧为大家奉上满足您所有需求的安全软件产品,为不同年龄层.不同人群给予全方位保护,同时延续卡 ...

  6. shell 脚本之循环使用 for while 详解

    任何一种编程语言中循环是比不可少的,当然 shell 脚本也少不了循环语句,包括 for 语句. while 语句.文中主要以实际用例来说明 for while 都有哪些常见的使用方法和技巧. 一.f ...

  7. 项目实现不同环境不同配置文件-maven profile

    最近接触的项目都是在很多地方都落地的项目,需要支持不同的环境使用不同的配置文件.一直以来都以为是人工的去写不同的配置文件,手动的去修改运用的配置文件.感觉自己还是太low呀.maven的使用的还停留在 ...

  8. codevs 1245 最小的N个和

    1245 最小的N个和 http://codevs.cn/problem/1245/ 题目描述 Description 有两个长度为 N 的序列 A 和 B,在 A 和 B 中各任取一个数可以得到 N ...

  9. 关于Spring 国际化 No message found under code 的解决方案

    用spring做国际化时经常会报: org.springframework.context.NoSuchMessageException: No message found under code 'u ...

  10. Node.js起步 -- (1)

    先来简单介绍nodeJS 我们知道JavaScript是运行在浏览器中的,浏览器为它提供了一个上下文(context),从而让JavaScript得以解析执行. nodeJS其实可以这么理解,它是另外 ...