Python中File文件

一、文件的类型(编码不同分类)

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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

t_RNA_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值