1、打开文件
将文件从磁盘(硬盘)中,读取到内存中
语法:open(file,mode='r',encoding=None)
>参数file : 要打开的文件,str类型,路径可以使相对路径(建议使用),也可以是觉得路径
>参数mode : 默认参数(缺省参数),表示打开文件的方式
>r : read 只读打开
>w : write 只写打开
>a : append 追加打开,即在文件的末尾写入内容
>encoding : 编码方式
> gbk
> utf-8 常用
>返回值 : 返回的是文件对象,对文件的后续操作,使用的是这个对象
2、读或者写文件
写文件----向文件中写入指定内容
前提:文化的打开方式是 w 或者 a
文件对象.write('写入文件的内容') 一般不关注返回值
注意:
1、文件不存在,则直接创建文件
2、文件存在,覆盖原文件
读文件----将文件中的内容读取
前提:文件的打开方式是 r
文件对象.read(n) n表示读取多少个字符,一般不写,表示读取全部内容
返回值:读取到的文件内容 str类型
3、关闭文件
关闭文件:将文件占有的资源进行清理,同时会保存文件,文件关闭后,文件对象不能再使用
语法:文件对象.close()
eg:写文件
# 打开文件
a = open('test.txt', 'w', encoding='utf-8')
# 写入内容
a.write('这是第一个文件内容\n') # 无文件时,创建文件; 有文件时,覆盖文件
a.write('这是第二个文件内容') #
# 关闭文件
a.close()
这是第一个文件内容
这是第二个文件内容
eg:文件的读取
# 打开文件
b = open('test.txt', 'r', encoding='utf-8')
# 读取内容,如果文件不存在,报错
Info = b.read()
print(Info)
# 关闭文件
b.close()
使用with open打开文件
with open() 打开文件后无需关闭文件的代码,自动关闭
语法: with open (file ,mode ,encoding = 'utf-8') as 变量 :
在缩进中读取或写入文件,缩进中的代码执行完毕,出缩进,文件自动关闭
with open('test.txt', 'a', encoding='utf-8') as c: # 注意这里的 a 的方式为追加
c.write('这是第三个文件内容')
#这是第一个文件内容
#这是第二个文件内容这是第三个文件内容
按行读取文件内容----一次读取一行内容
文件对象.readline
# 111
# 222
# 333
# 444
# 555
with open('test.txt', encoding='utf-8') as d: # 未写方式,默认使用 r
Info = d.readline()
print(Info,end='') # 111
print(d.readline()) # 222 读取一次后指针停留在读取行,在读取时往下进行
# read() 和 readline()读取到文件末尾,返回一个空字符串,即长度为0
# 容器中无内容,即为空,表示为Flase,其余为True
with open('test.txt', encoding='utf-8') as d:
while True:
Info = d.readline()
if len(Info) == 0: #判断读取的文件长度是否为0,即是否是返回的空字符串
break
else:
print(Info)