Python学习11--2022年4月25日

文本文件和二进制文件

按文件中数据组织形式,把文件分为文本文件和二进制文件两大类。

  1. 文本文件:文本文件存储的是普通“字符”文件,默认为unicode字符集(两个字节表示一个字符,65536),可以使用记事本程序打开,但是像word软件编辑的文档不是文本文档,
  2. 二进制文件:二进制文件把数据内容用“字节”进行存储,无法用记事本的打开,不许使用专用的软件解码,常见有:MP4视频文件,MP3音频文件,JPG图片,doc文档等等。

处理文本的包

Python学习11--2022年4月25日_第1张图片Python学习11--2022年4月25日_第2张图片

文本文件对象和二进制文件对象的创建:
如果没有增加模式“b“,则默认创建的是文本文件对象,处理的基本单元是”字符“。
如果是二进制模式“b“,则创建的是二进制文件对象,处理的基本单元是”字节“。

f = open("a.txt", "a")
s = "haha\nhehe\n"
f.write(s)
f.close()

常见编码之间的关系

Python学习11--2022年4月25日_第3张图片

ASCII

Python学习11--2022年4月25日_第4张图片

ISO8859-1

Python学习11--2022年4月25日_第5张图片

GB2312

Python学习11--2022年4月25日_第6张图片

GBK

在这里插入图片描述

GB18030

Python学习11--2022年4月25日_第7张图片

Unicode

Python学习11--2022年4月25日_第8张图片

UTF-8Python学习11--2022年4月25日_第9张图片

写入中文

f = open("a.txt", "a", encoding="utf-8")
s = "常见编码之间的关系"
f.write(s)
f.close()

with 语句

s =[ "常见\n编码之间\n的关系"]
with open("a.txt", "w")as f:
	f.wirtelines(s)

文本读取

Python学习11--2022年4月25日_第10张图片
Python学习11--2022年4月25日_第11张图片

使用pickle序列化

序列化是指将对象传化成“串行化”数据形式,存储到硬盘或通过网络传输到其他地方
反序列化是指相反的过程,将读取到的“串行化”数据转化为对象

序列化使用:
pickle.dump(obj, file) obj是要被序列化的对象,file是指存储的文件
pickle.load(file) 从file读取数据,反序列化成对象

对象序列化成文件

import pickle
with open(r"d:/data.dat". "wb")as f:
	a1 = "序列化"
	a2 = 234
	a3 = [20, 30, 40]
	
	pickle.dump(a1, f)
	pickle.dump(a2, f)
	pickle.dump(a3, f)

数据反序列化成对象

import pickle
with open(r"d:/data.dat". "rb")as f:
	a1 = pickle.load(f)
	a2 = pickle.load(f)
	a3 = pickle.load(f)
	
	print(a1)
	print(a2)
	print(a3)

CSV 文件的操作

Python学习11--2022年4月25日_第12张图片

import csv
with open("dd.csv", "r")as f:
	a_csv = csv.read(f)
	# ptint(list(a_csv))
	for row in a_csv:
		print(row)
import csv
with open("cc.csv", "w")as f:
	b_csv = csv.write(f)
	b_csv.writerow(["ID", "姓名""年龄"])
	b_csv.writerow(["1000", "Bob""18"])
import csv
with open("cc.csv", "w")as f:
	b_csv = csv.write(f)
	c = [["1000", "Bob""18"], ["1001", "Bobo""189"]]
	b_csv.writerows(c)

你可能感兴趣的:(python,学习)