掌握文件读写的基本操作
掌握with语句的使用
熟悉数据的组织维度
掌握不同维度数据的存储
掌握目录与文件的相关操作
基本操作步骤
打开文件(文件不存在就会创建)
变量名=open(filename,mode,encoding) (文件的路径,打开模式 读/写,文件的编码格式)
操作文件
变量名.read() 变量名.write(s)
关闭文件
变量名.close()
def my_write():
tx=open('a.txt','w',encoding='utf-8')
tx.write('helloword')
tx.close()
#主程序运行
def my_read():
tx=open('a.txt','r',encoding='utf-8')
s=tx.read()
print(type(s),s)
tx.close()
if __name__ == '__main__':
my_write()
my_read()
文件打开模式 | 模式说明 |
r | 以只读模式打开,文件指针在文件的开头,如果文件不存在,程序抛异常 |
rb | 以只读模式打开二进制文件,如图片文件 |
w | 覆盖写模式,文件不存在就创建,存在则覆盖内容 |
wb | 覆盖写模式写入二进制数据,文件不存在则创建,文件存在则覆盖 |
a | 追加写模式,文件不存在则创建,文件存在则在文件后追加内容 |
+ | 与w/r/a等一起使用,在原功能的基础上增加同时读写功能 |
读写方法 | 描述说明 |
file.read(size) | 从文件中读取size个字符或字节,如果没有给定参数,则读取文件中的全部内容 |
file.readline(size) | 读物文件中的一行数据,如果给定参数,则为读取这一行中的size个字符或字节 |
file.readlines() | 从文件中读取所有内容,结果为列表类型 |
file.write(s) | 将字符串s写入文件 |
file.writelines(lst) | 将内容全部改为字符串的列表lst写入文件 |
file.seek(offset) | 改变当前文件操作指针位置,英文占一个字节,中文gbk编码占两个字节,utf-8编码占三个字节 |
with语句
with语句又称上下文管理器,在处理文件时,无论是否产生异常,都能保证with语句执行完毕后关闭已经打开的文件,这个过程是自动的,无需手动操作
语法:
with open(...)as file:
pass
示例
def write_fun():
with open('aa.txt','w',encoding='utf-8') as file:
file.write('2022北京冬奥会欢迎')
def read_fun():
with open('aa.txt','r',encoding='utf-8') as file:
print(file.read())
def copy_fun(src_file,target_file):
with open(src_file,'r',encoding='utf-8') as file:
with open(target_file,'w',encoding='utf-8') as file2:
file2.write(file.read())
if __name__ == '__main__':
write_fun()
read_fun()
copy_fun('./aa.txt','./aa2.txt')