python_文件操作_读取文件
读取文件操作
读取文件
read方法会从头读到尾如果文件较小还可以,如果比较大就需要调整文件指针(文件指针可以形象的理解为在文本文档中闪烁的光标),read方法中的文件指针默认是在文件的开头
# -*- coding: utf-8 -*-'''@File:6-文件读取.py@Author:HY@Version :1.0@Desc:1.使用此代码片段应在本代码同级路径下创建user.txt1.1.在user文件中输入想要打印的内容1.2.需要再文件中至少3行2.此片段演示读取user文本文件中的内容'''path="user.txt"with open(path,encoding="utf-8") as f:res=f.read()print(res)# 输出的内容是从头到尾没有停止'''@OutPut:北京国际机场贵阳龙洞堡机场成都双流机场'''
readline
# -*- coding: utf-8 -*-'''@File:6-文件读取.py@Author:HY@Version :1.0@Desc:1.使用此代码片段应在本代码同级路径下创建user.txt1.1.在user文件中输入想要打印的内容1.2.需要再文件中至少3行2.此片段演示读取user文本文件中的内容'''res=[]path="user.txt"with open(path,encoding="utf-8") as f:res.append(f.readline().split("\n")) #只读取一行,并且取消每行的换行符res.append(f.readline(2)) #继续读取2个字符print(res,end="") #end=""是指将print函数中的回车换行取消掉# 输出的内容是从头到尾没有停止'''@OutPut:[['北京国际机场'], '贵阳']'''
readlines
# -*- coding: utf-8 -*-'''@File:6-文件读取.py@Author:HY @Version :1.0@Desc:1.使用此代码片段应在本代码同级路径下创建user.txt1.1.在user文件中输入想要打印的内容1.2.需要再文件中至少3行2.此片段演示读取user文本文件中的内容readlines'''path="user.txt"with open(path,encoding="utf-8") as f:ress = f.readlines() print(ress) # 输出的内容是列表格式并且是从头到尾没有停止#每个机场后边都会出现\n这个转义字符是因为在desc中说的要有3行内容# \n的意思是换行,如果文件中只有一行那么只会在最后的时候输出一个\n转义符'''@OutPut:['北京大兴国际机场\n', '济南遥墙机场\n', '四川天府国际机场']'''
read传参
# -*- coding: utf-8 -*-'''@File:6-文件读取.py@Author:HY @Version :1.0@Desc:1.使用此代码片段应在本代码同级路径下创建user.txt1.1.在user文件中输入想要打印的内容1.2.需要再文件中至少3行2.此片段演示读取user文本文件中的内容'''path="user.txt"with open(path,encoding="utf-8") as f:ress = f.read(3) print(ress) # 从文件的开头读取并且只读相对应的字符# 注意是字符,不是字节'''@OutPut:北京大'''
文件的拷贝
下方代码片段只支持文本文件拷贝,如果需要拷贝其他类型文件应使用“rb"模式,此代码片段建议读取文件内容较小的文件,否则会极为消耗内存此文件功能将会在文件操作更新完成后,发布一份较为安全的读写拷贝模式
# -*- coding: utf-8 -*-'''@File:6-文件读取.py@Author:HY @Version :1.0@Desc:拷贝文本文件内容'''old_path="user.txt" #相对位置new_path="user(副本).txt" #在本py文件的文件路径下会出现新的一个txt文件吗,名称是user(副本)with open(old_path,mode="rt",encoding="utf-8") as f1, open(new_path,mode="wt",encoding="utf-8") as f2:res = f1.read()f2.write(res)'''在这个with中出现了一个mode,这个mode默认的是rt模式在with中打开两个路径第一个是将拷贝的文件进行一个读取操作第二个是将被拷贝的文件进行一个写操作由于w模式下没有文件将会创建一个新文件,由此将文本文件的内容就拷贝出来并写入新文件了'''
文件指针的移动
# -*- coding: utf-8 -*-'''@File:6-文件读取.py@Author:HY @Version :1.0@Desc:None'''old_path="user.txt" #相对位置with open(old_path,mode="rt",encoding="utf-8") as f1:f1.seek(3)res = f1.read()print(res)"""一个汉字占3个字节"""'''@OutPut:京大兴国际机场济南遥墙机场四川天府国际机场'''