Python学习文件管理

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

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

1.文本文件:基于字符编码,存储的是普通字符,不包括字体,字号,样式,颜色等信息,可通过文本编辑器显示和编辑。如.txt/.py/.html/.csv/.xls/.xlsx 2.二进制文件:基于值编码的,以字节形式存储,其编码长度跟据值可变。如.jpg/.avi等图片。音频或视频文件

二。文件的操作

1.使用open()函数打开(或建立)文件,返回一个file对象; 2。使用file对象的读、进行读/写的操作 3。使用file对象的close()方法关闭文件 实例如下

#打开文件See You Again.txt
#绝对路径
#open('C:\\Users\\yzkj\\Desktop\\2021110205120赵毅杰\\Stu_pack\\See You Again.txt')
#open('C:/Users/yzkj/Desktop/2021110205120赵毅杰/Stu_pack/See You Again.txt')
#open(r'C:\Users\yzkj\Desktop\2021110205120赵毅杰\Stu_pack\See You Again.txt')
#相对路径
file = open('..\\Stu_pack\\Dream It Possible.txt',encoding = 'utf-8')
#(2)读文件
fr = file.readlines()   #将文件以行为单位打印
#file.read()
#print(fr)# 用print函数清洗换行
for line in fr:#常用这个格式打印
    print(line)
#3.关闭文件
file.close()
#4.即开即关的打开方式:
with open('../Stu_pack/万疆.txt','rt',encoding = 'utf-8') as file:
    file.readlines()
    

读取二进制文件并保存 

实例2:读出文件夹Stu-pack里二进制文件
from PIL import Image#
im = Image.open('../Stu_pack/Love_Star.PNG')#创建打开图片对象im
im.save('../R&Q_pic/Love.png')#将生成的图片文件保存到指定的路径里

 写文本文件

#安装第三方库
pip install pillow
pip install wordcloud
#实例3写文本文件
f_w = open('test.txt','w',encoding = 'utf-8')#如果没有该文件新建文件,如果有重写文件内容
for i in range(1,11):
    f_w.write(str(i)+'\t'+'2021110205120赵毅杰\n\n')
f_w.seek(0)#将文件指针定位在文件开头
#用with结构读出文件内容
with open('test.txt',encoding = 'utf-8') as file:
    print(file.read())
f_w.close()

三、excle文件的读写

1。第三方库模块的安装(读取:xlrd,写入:xlwt)

2.实例1:读取excle文件内容,将结果保存在列表中
    操作步骤
        1.导入模块xlrd
        2.打开工作谱Book
        3.指定工作谱中的工作表sheet
        4.根据行列号读取内容
import xlrd
import xlwt
#cmd里面安装
pip install xlwt
pip install xlrd
#导入模块xlrd
import xlrd
#2.打开工作谱Book
wb = xlrd.open_workbook('../Stu_pack/school.xls')#创建打开对象wb
#指定工作谱中的工作表sheet
sheet = wb.sheet_by_index(0)#索引工作簿里面第一个工作表并创建对象,1表示第二个2表示第三个
#根据行列号读取内容
schools = []#定义一个二维列表存放工作表数据
for row in range(sheet.nrows):
    school = []#定义一个一维列表存放内容(单元格的内容)
    for col in range(sheet.ncols):
        content = sheet.cell_value(row,col)#读出单元格的具体数据
        school.append(content)#将读出的数据追加到school里
    schools.append(school)#将每行内容追加到schools里面
for school in schools:
    print(school)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值