pip install
命令进行安装。文件是一个存储在辅助存储器上的数据序列,可以包含任何数据内容
。 = open(,)
.close()
字符串或字节流取决于文件打开模式,如果是文本模式打开,则返回字符串;否则返回字节流。对于写方法也是如此
。PIL(Python Image Library)库是Python的第三方库
,具有强大的图像处理能力。同样使用 pip install
命令安装。
PIL 库主要可以实现图像归档和图像处理两方面的功能需求:
1) 图像归档:对图像进行批处理、生成图像预览、图像格式转换等
2) 图像基本处理、像素处理、颜色处理
PIL 中有 21 个与图片相关的类,这些类可视为子库或模块,最常用的有Image、ImageFilter、ImageEnhance
。
from PIL import Image
序列图像文件主要指GIF、FLI、FLC、TIFF等
。.seek(frame) 方法:跳转并返回图像中的指定帧。
.tell() 方法:返回当前帧的序号。
.save(filename,format):将图像保存为filename文件名,format是图片格式
.convert(mode):使用不同参数,转换图像为新的模式
.thumbnail(size):创建图像的缩略图,size是缩略图尺寸的二元组
示例:
im = Image.open("img1069.jpg")
im.thumbnail((576, 324))
im.save("test.jpg", "JPEG")
.resize(size):按size大小调整图像,生成副本
.rotate(angle):按angle角度旋转图像,生成副本
.point(func):根据函数func的功能对每个元素进行运算,返回图像副本
.split():提取RGB图像中的每个颜色通道,返回图像副本
.merge(mode,bands):合并通道,其中mode表示色彩,bands表示色彩通道
.blend(im1,im2,alpha):将两幅图片按照公式:im1*(1.0-alpha)+im2*alpha操作并生成新图像。
数据组织分为一维数据、二维数据和高维数据。
一维数据由对等关系的有序或无序数据构成,采用线性方式组织,对应数学的数组和集合
。
二维数据,也称表格数据,由关联关系构成,采用表格方式组织,对应数学中的矩阵
。
高维数据由键值对类型的数据构成,采用对象方式组织,属于整合度更好的数据组织方式。HTML、XML、JSON等是高维数据的语法结构
。
数据包括文件存储和程序使用两种状态。
一维数据是最简单的数据组织类型,有多种存储格式,常采用特殊字符分隔,分隔方式如下:
1) 用一个或多个空格分隔
2) 用英文逗号分隔
3) 用其他符号或符号组分隔
分隔符的选取应当是数据中不会出现的字符。
二维数据由多条一维数据构成,国际通用的一二维数据存储格式为:CSV(Comma-Separated Values,逗号分隔值),该格式的应用有如下基本规则:
1) 纯文本格式,单一编码
2) 以行为单位。开头不留空行,行之间不留空行
3) 每行表示一个一维数据,多行表示二维数据
4) 以英文逗号分隔每列数据,列数据为空也要保留逗号
5) 对于表格数据,可以包含或不包含列名,包含列名时放置文件第一行
fo = open(<filename>,’r’)
ls = []
for line in fo:
line = line.replace(“\n”, “”)
ls.append(line.splite(“,”)
print(ls)
fo.close()
# 单行数据添加可用如下语句:
ls=[……]
fo.write(“,”.join(ls)+ “\n”)
fo.close()
#多行数据时:
for row in ls:
<filename>.write(“,”.join(row)+”\n”)
JSON格式可以对高维数据进行表达和存储。
JSON(JavaScript Object Notation)
表达键值对的基本格式如下:
“key” : “value”
当多个键值对放在一起时,JSON有如下规定:
1) 数据保存在键值对中
2) 键值对之间用英文逗号分隔
3) 大括号用于保存键值对数据组成的对象
4) 方括号用于保存键值对数据组成的数组
json 库是Python处理JSON格式文件的标准库,使用之前import进来便可。
json库包含两个过程:编码(encoding)和解码(decoding)。编码是Python数据类型转换为JSON格式的过程,解码是JSON格式解析称Python数据类型的过程
。
CSV2JSON示例
:import json
def csv2json():
fr = open("price2020.csv", "r", encoding="UTF-8")
ls = []
for line in fr:
line = line.replace("\n", "")
ls.append(line.split(','))
fr.close()
fw = open("price2020.json", "w", encoding="UTF-8")
for i in range(1, len(ls)):
ls[i] = dict(zip(ls[0], ls[i]))
json.dump(ls[1:], fw, sort_keys=True, indent=4, ensure_ascii=False)
fw.close()
if __name__ == "__main__":
csv2json()
JSON格式转CSV
:def json2csv():
fr = open("price2020.json", "r", encoding="UTF-8")
ls = json.load(fr)
data = [list(ls[0].keys())]
for item in ls:
data.append(list(item.values()))
fr.close()
fw = open("testJson2Csv.csv", "w", encoding="UTF-8")
for item in data:
fw.write(",".join(item) + "\n")
fw.close()
程序设计要采用自顶向下的设计方法,采用自底向上的执行方法
pyinstaller库,是一个将Python语言脚本打包成可执行文件的第三方库,可用于Windows、Linux、MacOS X等操作系统
。pip install
pip install -U
pip uninstall
pip list
pip show
pip download
pip search
http://www.lfd.uci.edu/~gohlke/pythonlibs/
import numpy as np
最常用的其子库:pyplot,引用如下:
import matplotlib.pyplot as plt
用语句:
import matplotlib
matplotlib.rcParams[‘font.family’]=’字体名’