文件
介绍:计算机的文件,就是存储在某种存储设备上的一段数据
作用:将数据长期保存下来,在需要的时候使用
1.计算机只认识二进制(0 1)
2.文件中存储的数据都是以二进制(0 1)的形式去存储
可以根据 文件中的二进制内容,能否使用记事本软件,将其转换为文字,将
文件分为两类
1.文本文件
能够使用记事本软件打开(能够使用记事本转换为文字)
txt md py html css js json
2.二进制文件
不能使用记事本软件打开的
exe,mp3,mp4,jpg,png
我们操作的基本都是文本文件
文件操作
文件操作的步骤
1.打开文件
2.读或写文件
3.关闭文件
- 1.打开文件:将文件从磁盘(硬盘)中读取到内存中
语法:
open(file,mode='r',encoding=None)
参数 file:是要打开的文件,类型是字符串,文件的路径可以是相对路径,也可以
是绝对路劲(从根目录开始书写的路径),建议使用相对路径(相对当前代码文件所在的路径,./ …/)
参数 mode :默认参数(缺省参数),表示的是打开文件的文件
r:read 只读打开
w:write 只写打开
a:append 追加打开,在文件的末尾写入内容
参数 encoding:编码方式,(文字和二进制如果进行转换的)
gbk:将一个汉子转换为2个字节二进制
utf-8:常用,将一个汉子转换为3个字节的二进制
返回值:返回的是文件对象
- 2.读或者写文件
写文件
向文件中写入指定的内容
前提:文件的打开方式是w或者a
文件对象.write('写入文件的内容')
#返回值:写入文件的字符数,一般不关注
注意:
1.文件不存在,会直接创建文件
2.文件存在,会覆盖原文件(将原文件中的内容清空)
读文件:
将文件中的内容读取出来
前提:文件的打开方式需要是r
文件对象.read(n)
# 参数n表示读取多少自己,一般不写,表示读取全部内容
# 返回值:读取到的文件内容,类型 :字符串
- 3.关闭文件
关闭文件:将文件占用的资源进行清理,同时会保存文件,文件关闭之后,这个文件对象就不能使用了
文件对象.close()
实例
# 1.打开文件
f=open('a.txt','w',encoding='utf-8')
# 2.写文件
f.write('好好学习')
# 3.关闭文件
f.close()
使用with open 打开文件
with open() 打开文件的好处:不用自己去书写关闭文件的代码,会自动进行关闭
with open(file,mode,encoding='utf-8') as 变量:
# 在缩进中去读取或者写入文件
# 缩进中的代码执行结束,出缩进之后,文件会自动关闭
'''
with open('a.txt','a',encoding='utf-8') as f:
f.write('good good study')
# a 方式打开文件,文件不存在会创建文件,文件存在,在文件的末尾写入内容
按行读取文件内容
按行读取文件:一次读取一行内容
文件对象.readline()
with open('b.txt',encoding='utf-8') as f:
buf = f.readline()
print(buf)
print('*'*30)
with open('b.txt',encoding='utf-8') as f:
for i in f:
print(i,end='')
print('*'*30)
# read() 和 readline() 读到文件末尾,返回一个空字符串,长度为0
with open('b.txt',encoding='utf-8') as f:
while True:
buf = f.readline()
if len(buf)==0:
break
else:
print(buf,end='')
print('*'*30)
# 在容器中,容器为空,即容器中的数据的个数为0,表示False,其它情况为True
with open('b.txt',encoding='utf-8') as f:
while True:
buf = f.readline()
if buf: # len(buf)!=0
print(buf)
else:
break