Python里面的文件

本文介绍了文件的两种主要类型:文本文件和二进制文件,以及如何使用Python的open()函数进行文件操作,包括读写文本文件和使用PIL处理图片,以及如何通过第三方库xlrd和xlwt读写Excel文件。
摘要由CSDN通过智能技术生成

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

1.文本文件:基于字符编码,存储的是普通字符串,不包括字体,字号,样式,颜色等信息,可通过文本编辑器显示和编辑。如.tet/.py/.html/.csv/.xls/.xlsx

2.二进制文件:基于值编码的,以字节形式存储,其编码长度根据值的大小长度可变。如.jpg/.avi等图片,音频或视频文件

二.文件的操作

1.使用open()函数打开(或建立)文件,返回一个file对象:

2.使用file对象的读、写方法对文件进行读、写的操作:

3.使用file对象的close()方法关闭文件。

4.示例如下:

#文本文件的操作:

#给打开的文件设置对象名为file

#file = open('../Stu_pack/See You Again.txt') #用相对路径和斜杠描述文件所在的路径

#file = open(R'C:\Users\yzkj\Desktop\贾燕雨2021110205030\Stu_pack\See You Again.txt') #用绝对路径和转义字符+反斜杠描述文件所在的路径

file = open('..\Stu_pack\Dream It Possible.txt',encoding = 'utf-8') #utf-8国际编码

 #file.read() #用对象file的读取方法read()读出文件内容

#file.seek(0)

'''

f_r = file.readlines()

 line in f_r:

    print(line)

file.seek(0)

'''

print(file.read())

 file.close() #关闭文件

#即开即关方式

with open('..\Stu_pack\万疆.txt','rt',encoding = 'utf-8') as file:

    #print(file.read())

    f_r = file.readlines()

    for line in f_r:

        print(line)

#二进制文件的操作:

from PIL import Image #导入第三方pillow库里面的Image图片模块

im = Image.open('../Stu_pack/Five_Star.png') #打开图片文件创建对象

im.save('Five_Star.png') #将打开的文件保存在当前文件夹demo里面

im.show() #在当前窗口显示图片

#示例三:写文本文件:向当前文件夹demo写入文件test.txt,其内容为10行自己的学号姓名,每行前面有序号

file = open('test.txt','w',encoding = 'utf-8') #新建文件并打开,创建文件对象

for i in range(1,11):

    file.write(str(i)+'\t'+'2021110205123朱春斌'+'\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 #导入模块xlrd

wb = xlrd.open_workbook('../Stu_pack/school.xls') #打开工作薄Book

                                                #用相对路径打开读取的文件school.xls并创建文件对象人wb

sheet = wb.sheet_by_index(0) #制定工作薄中的表单Sheet

                                                #根据索引获取表单(0:第一个;1:第二个)

schools = [] #定义一个二维列表schools存放行和列

for row in range(sheet.nrows):

    school = [] #定义一个一位列表存放单元格具体的值

    for col in range(sheet.ncols):

        content = sheet.cell_value(row,col) #根据行列序号读取内容

        school.append(content) #通过列表方法append追加写入读取内容

    schools.append(school) #以行为单元写入内容

for school in schools: #打印全部内容

    print(school)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值