一、文件的类型(编码不同分类)
1、文本文件:基于字符编码,存储的是普通字符串,不包括字体、学号、样式、颜色等信息,可通过文本编辑器显示和编辑。
如:txt/.py/.html/.csv/.xls/.xlsx
2、二进制文件:基于值编码的,以字节形式存储,其编码长度根据值的大小长度可变。
如:.jpg/.avi等突破、音频或视频文件
二、文件的操作
1、使用open()函数打开(或建立)文件,返回一个file对象:
2、使用file对象的读/写方法对文件进行读/写的操作;
3、使用file对象的close()方法关闭文件
4、示例如下
1、打开纯英文文本
#示例1:打开纯英文文件
#file = open('../Stu_pack/See You Again.txt')
#用相对路径打开文件,并创建文件对象
file = open(R'D:\Python-library\231101\Stu_pack\See You Again.txt')
#用绝对路径打开
#file.read() #一次性读取全部内容
#print(file.read()) #一次性读取全部内容
f_r = file.readlines() #一行一行读取内容并存放值列表中
for line in f_r:
print(line)
结果如下:
See You Again- Wiz Khalifa&Charlie Puth
It's Been A Long DayWithout You My Friend.
And I'll Tell You AllAbout It When I See You Again.
We've Come A Long WayFrom Where We Began.
OH I'll Tell You AllAbout It When I See You Again.
When I See You Again~
...此处省略
2、打开中文或其他语言文本
#打开由中文或其他语言的文本
file1 = open('../Stu_pack/Dream It Possible.txt','rt',encoding='utf-8')
for line in file1:
print(line)
结果如下:
Dream It Possible(梦想成为可能)- Delacey 歌词(中英对照)
作词:Andy Love
作曲:Andy Love
I will run I will climb I will soar.
我奔跑,我攀爬,我要飞翔。
I'm undefeated.
我所向披靡。
Jumping out of my skin pull the chord.
跳出我的桎梏,拨弄琴弦。
Yeah I believe it.
是啊,我坚信。
The past is everything we were don't make us who we are.
历史决定曾经,但并不能决定现在的你和我。
...此处省略
3、打开纯中文文本
#读取纯中文文本文件
file = open('../Stu_pack/万疆.txt','rt',encoding = 'utf-8')
f_r = file.readlines()
for line in f_r:
print(line)
file.close() #关闭文件
结果如下:
红日升在东方 其大道满霞光
我何其幸 生于你怀
承一脉血流淌
难同当 福共享 挺立起了脊梁
吾国万疆 以仁爱
千年不灭的信仰
写苍天只写一角日与月悠长
画大地只画一隅山与河无恙
...此处省略
4、及开机关文本操作
#即开即关的文件操作
with open('../Stu_pack/Dream It Possible.txt',encoding='utf-8') as file:
print(file.read())
结果如下:
Dream It Possible(梦想成为可能)- Delacey 歌词(中英对照)
作词:Andy Love
作曲:Andy Love
I will run I will climb I will soar.
我奔跑,我攀爬,我要飞翔。
I'm undefeated.
我所向披靡。
Jumping out of my skin pull the chord.
跳出我的桎梏,拨弄琴弦。
Yeah I believe it.
是啊,我坚信。
...此处省略
三、Excel文件的读写
1、第三方库模块的安装(读取:xlrd,写入:xlwt)
2、示例1:读取Excel文件内容,将结果保存以列表中
操作步骤:
(1)导入模块xlrd
(2)打开工作簿book
(3)指定工作簿中的表单Sheet
(4)根据行列序号读取内存
(1)导入模块xlrd
import 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(sheet.nrows):
school = []
#定义一个一维列表存放单元格内容
for col in range(sheet.ncols):
content = sheet.cell_value(row,col)
#将单元格的内容存放在变量content中
school.append(content)
#将单元格内容追加到一维列表里
schools.append(school)
#将每一行的内容追加到二维列表里
——————————————————————————————————————————————
for school in schools:
print(school)
结果如下 :