常用包:图片处理(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. 获得设备的唯一标识符UDID

    在IOS5之后,苹果为避免根据UDID获得用户的信息,而禁止使用uniqueIdentifier获得UDID,但是仍有些应用需要根据UDID区分设备 有一个系统的库IOKit.framework可以获 ...

  2. UIBezierPath-完善曲线

    override func draw(_ rect: CGRect) { let path = UIBezierPath() // 起点 path.move(to: CGPoint(x: , y: ) ...

  3. undefined reference to `__android_log_print'

    使用android studio 编写NDK代码时出现错误:undefined reference to `__android_log_print' 解决办法: eclipse       andro ...

  4. Android应用项目中BaseAdapter、SimpleAdapter和ArrayAdapter中的三种适配器

    一.写在前面: 本次我们来讲解一下Android应用中三个适配器:BaseAdapter.SimpleAdapter和ArrayAdapter.其中常见的是BaseAdapter,也是个人推荐使用的适 ...

  5. java 执行 jar 包中的 main 方法

    java 执行 jar 包中的 main 方法 通过 OneJar 或 Maven 打包后 jar 文件,用命令: java -jar ****.jar执行后总是运行指定的主方法,如果 jar 中有多 ...

  6. BZOJ 1251: 序列终结者 [splay]

    1251: 序列终结者 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 3778  Solved: 1583[Submit][Status][Discu ...

  7. git免密操作

    windows下找到用户目录,新建 _netrc 文件 machine git.notech.cc login user password xxxxxx Linux下同样可行,需要在~目录下新建 .n ...

  8. Java开发的几个注意点

    原文出处: 后端技术杂谈 1. 将一些需要变动的配置写在属性文件中 比如,没有把一些需要并发执行时使用的线程数设置成可在属性文件中配置.那么你的程序无论在DEV环境中,还是TEST环境中,都可以顺畅无 ...

  9. [LeetCode] Combination Sum IV 组合之和之四

    Given an integer array with all positive numbers and no duplicates, find the number of possible comb ...

  10. [LeetCode] Copy List with Random Pointer 拷贝带有随机指针的链表

    A linked list is given such that each node contains an additional random pointer which could point t ...