一、文件的类型(编码不同分类)
1、文本文件:基于字符编码,春村的his普通字符串,不包括字体、字号、样式、颜色等信息,可通过文本编辑器显示和编辑。 如.txt/py/.html/.csv/.xls/.xlsx 2、二进制文件:基于值编码的,以字节形式储存,其编码长度根据值的大小长度可变。如.jpg/.avi等图片、音频或视频文件。
二、文件的操作
1、使用open()函数打开(或建立)文件,返回一个file对象; 2、使用file对象的读/写方法对文件进行读/写的操作; 3、使用file对象的close()方法关闭文件; 4、示例如下:
#文本文件的操作:
# file = open('../Stu_pack/See You Again.txt') #用相对路径和左斜杠描述文件所在的路径
# file = open(r'C:\User\computer\Desktop\2021110205096杨沛林\Stu_pack\See You Again.txt') #给打开的位置设置对象名为file
file = open('..\Stu_pack\Dream It Possible.txt ', encoding = 'utf-8') #utf-8国际编码
'''
file.read() #用对象file的读取方法read()独处文件内容
f_r = file.readlines()
for line in f_r:
print(line)
file.seek(0)
'''
print(file.read())
file.close() #关闭文件
#及开关方式
with open('..\Stu_pack\万疆.txt',encoding = 'utf-8') as file:
print(file.read())
#实例2:二进制文件的操作:
from PIL import Image #导入第三方pillow库里面的Image图片模块
im = Image.open('../Stu_pack/Five_Star.png') #打开图片文件创建对象
im.save('Five_Star.png') #将打开的文件保存在当前文件夹demo里面
im.show() #在当前窗口显示图片
#实例3:写文本文件:向当前文件夹demo里面写入文件test.txt,其内容为10行自己的学号姓名,每行前面有序号
file = open('test.txt','w',encoding = 'utf-8') #新建文件并打开,创建文件对象
for i in range(1,11): #写入文件内容
file.write(str(i)+'\t'+'2021110205096杨沛林'+'\n')
file.close() #关闭文件
with open('test.txt','rt',encoding = 'utf-8') as file:
f_r = file.readlines()
for line in f_r:
print(line)
三、Excel文件的读写
1、第三方库模块的安装(读取:xlrd,写入:xlwt)
#安装命令:
pip install xlrd #安装读取Excel文件库xlrd
pip install xlwt #安装写入Excel文件库xlwt
2、实例1:读取Excel文件内容,将结果保存以列表中
操作步骤:
(1)导入模块xlrd
(2)打开工作薄Book
(3)指定工作播种的表单Sheet
(4)根据行列序号读取内容
import xlrd #(1)导入模块xlrd
wb = xlrd.open_workbook('../Stu_pack/school.xls') #(2)打开工作薄Book
#用相对路径打开读取的文件school.xls,并创建文件对象人wb
sheet = wb.sheet_by_index(0) #(3)指定工作薄中的表单Sheet
#根据索引获取表单 (0: 第一个, 1: 第二个)
schools = [] #定义一个二维列表school存放行和列
for row in range(sheet.nrows):
school = [] #定义一个一维列表存放单元格具体的值
for col in range(sheet.ncols):
content = sheet.cell_value(row,col) #(4)根据行序列号读取内容
school.append(content) #通过列表方法append住家写入单元格的内容
schools.append(school) #以行为单位写入内容
for school in schools:
print(school) #打印全部内容
import xlrd
wd = xlrd.open_workbook('../Stu_pack/school.xls')