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() #关闭文件

e6135af261624da7aa3f4c497e38f8c3.png

 注意(打开文件后需要及时关闭)

#自动关闭的打开格式

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

    print(file.read())

3c461fbe8d44474db40b48289cb3f0fb.png

 (读取二进制文件)

#示例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\\重返未来1999维尔汀\\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'+'维尔汀重返未来1999'+'\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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值