一、文件的类型(编码不同分类)
1.文本文件:基于字符编码,储存的是普通字符串,不包括字体、字号、样式、颜色等信息,可通过文本编辑器显示和编辑。
如. txt./.py/.html/.csv/.xls/.xlsx
2.二进制文件:基于值编码的,以字节形式储存,其编码长度根据值的大小长度可变。
如.jpg/avi等图片、音频或视频文件
二、文件的操作
1、使用open()函数打开(或建立)文件,返回一个file对象;
2、使用file对象的读/写方法对文件进行读/写的操作:
3、使用file对象的close()方法关闭文件。
4、示例如下:
#示例1:读取文本文件,示例1:读出文件夹Stu_pack里的文本文件See You Again.txt
file = open('../Stu_pack/Dream It Possible.txt','rt',encoding = 'utf-8') #用相对路径打开指定的文件,并创建文件对象
#print(file.read()) #一次性读取所有文件内容
f_r = file.readlines() #一行一行读取文件
for line in f_r: #遍历列表读取每一行内容
print(line)
file.close() #关闭文件
图为部分运行效果
打开文件后需要及时关闭
#自动关闭的打开格式
with open('../Stu_pack/万疆.txt',encoding='utf-8') as file:
print(file.read())
图为万疆歌词的一部分
读取二进制文件
#示例2:读取文件Stu_pack里的二进制文件(Love_Star.PNG)
from PIL import Image
#导入第三方库pillow里的image模块(如果没有该模块需要安装pip install pillow)
im = Image.open('../Stu_pack/Love_Star.PNG') #直接打开指定的文件夹,并创建文件对象
im.save('C:\\Users\\Administrator\\Desktop\\202209542唐美琳\\demo\\Love_Star.PNG')
im.show() #在当前窗口显示
写文本文件:
#实例3:写文本文件:向当前文件夹demo里写入文件test.txt,其内容为10行自己的学号姓名,每行前面都有序号
file = open('test.txt','w',encoding = 'utf-8')
for line in range(1,11):
file.write(str(line) +'\t'+'202209542唐美琳'+'\n')
file.close() #只有关闭文件,才将内容写入
#用with...as结构重写
with open('test.txt','w',encoding = 'utf-8') as file:
for line in range(1,11):
file.write(str(line) +'\t'+'唐美琳202209542'+'\n')
三、Excel文件的读写
1、第三方库模块的安装(读取:xlrd,写入:xlwt)
2、示例1:读取Excel文件内容,讲结果保存以列表中
操作步骤:
(1)导入模块xlrd
(2)打开工作薄Book
(3)指定工作簿的表单Sheet
(4)根据航序列号读取内容
#(1)导入模块xlrd
import xlrd #如果没有此库需要提前安装:pip install xlrd
#(2) 打开工作薄Book
wb = xlrd.open_workbook('../Stu_pack/school.xls') #创建文件对象
#(3)制定工作簿中的表单Sheet
sheet = wb.sheet_by_index(0) #创建工作表(表单)对象
#(4)根据航序列号读取内容
schools = [] #创建二维列表存放表单内容
for row in range(10):
school = [] #创建一维列表存放表单内容
for col in range(sheet.ncols):
content = sheet.cell_value(row,col) #读取单元格的内容并将其放在变量content里面
school.append(content)#将变量内容追加到一维列表school里面
school.append(school)
#打印内容
for school in schools:
print(shool)