Python基础之文件操作及光标移动详解
(资料图)
目录
一、文件操作1、文件的概念2、代码打开文件的方式二、文件读写模式1、"r" 只读模式 read2、"w" 只写模式 write3、"a" 尾部追写模式 add三、文件操作模式1、t 文本模式2、b 二进制模式四、文件诸多方法1、read()2、for循环3、line4、readable5、write6、flush五、文件内光标的移动1、seek()2、tell()一、文件操作
1、文件的概念
1.文件就是计算机暴露给用户操作硬盘的快捷方式
2.计算机的文件,就是用来储存某种信息的数据
3.在计算机中,文件是以二进制的方式储存信息的
2、代码打开文件的方式
方式一: f = open(文件路径, 读写模式, encoding="utf8") f.close() 方式二: # 子代码运行结束后会自动调用close方法关闭资源 with open(文件路径, 读写模式,encoding="utf8") as f: 须知: # 1、open方法的第一个参数是文件路径,并且撬棍跟一些字母的组合会产生特殊的含义导致路径查找混乱 为了解决该问题可以在字符串的路径前面加字母r D:\a\n\t r"D:\a\n\t" # 2、with一次性可打开多个文件 with open() as f1,open() as f2,open() as f3:
二、文件读写模式
1、"r" 只读模式 read
只能读,不能写 1.文件路径不存在:直接报错 with open(r"b.txt","r",encoding="utf8") as f: print(f.read()) 2.文件路径存在:正常读取内容 with open(r"a.txt", "r", encoding="utf8") as f: print(f.read())
2、"w" 只写模式 write
只能写,不能看 1.文件路径不存在: # 创建新的文件 with open(r"b.txt","r",encoding="utf8") as f: pass 2.文件路径存在: # 先清空文件内容,在重新写入 with open(r"a.txt", "r", encoding="utf8") as f: f.write("编写内容") 须知: # 1、编写的内容需要自己加入换行符,在保存后u而要注意他的存在
3、"a" 尾部追写模式 add
只能在文件末尾添加数据 1.文件路径不存在: # 创建新的文件 with open(r"b.txt","a",encoding="utf8") as f: pass 2.文件路径存在: # 在文件末尾添加 with open(r"a.txt", "a", encoding="utf8") as f: f.write("编写内容")
当我们在编写代码的时候 有些部分不知道写什么具体代码 但是也不能空着不写
这个时候可以使用关键字: pass
作用:是为了保证程序结构的完整性,否则会报错
三、文件操作模式
1、t 文本模式
文本模式为默认模式 1、读写模式简写:r、w、a 全称:rt、wt、at 须知: # 1、只能操作文本文件 # 2、读写以字符为单位 # 3、需要指定encoding参数,不填写则采用计算机默认的编码
2、b 二进制模式
byte模式 1、不是默认的模式,需要指定生成 rb、wb、ab 须知: # 1、可以操作任意文件 # 2、读写都是以bytes为单位 # 3、不需要指定encoding参数,不需要编码
不管是哪种模式,针对文件路径是否存在的情况都是一样的
四、文件诸多方法
1、read()
代码表现: 文件名.read() 须知: # 1、一次性读取文件内容,并且光标停留在文件末尾,继续读取则没有内容 # 2、当文件内容比较多的时候,该方法还可能会造成计算机内存溢出 # 3、括号内可以填写数字,在文本模式下,表示读取几个字符 # 4、通常一个中文三个字节(或更多)一个英文字母一个字节
2、for循环
代码表现: for 数据值 in 需要遍历的文件: 须知: # 1、一行行读取文件内容 避免内存溢出现象的产生
3、line
1、readline 代码表现: 文件名.readline() 须知: # 1、一次只读一行内容 2、readlines 代码表现: 文件名.readline() 须知: # 1、一次性读取文件内容,会按照行数组织成列表的一个个数据值
4、readable
代码表现: 代码表现: 文件名.readable() 须知: # 1、判断文件是否具备读取数据能力
5、write
1、write 用于向文件中写入指定数据 代码表示: f = open("a.txt", "w") f.write("写入一行新数据") f.close() 2、writeable 用来判断文件是否可写入数据 代码表示: f = open("nhooo.txt", "a") print(f.writable()) 可以写入: Ture 不可写入: False 3、writelines 用于接收一个列表,一次性将列表中所有数据写入 代码表示: f = open("a.txt", "r") n = open("b.txt","w+") n.writelines(f.readlines()) n.close() f.close()
6、flush
用于刷新内部缓冲区,这是在python中处理fila处理时的最佳实践,可以在将新文本写入/添加到文件之前清除内部缓冲区。将内存中文件数据立刻刷到硬盘 等价于ctrl + s
代码表示:
file_object.flush()
五、文件内光标的移动
1、seek()
移动文件的读取指针到指定位置。seek函数需要使用文件对象进行调用,无返回值。 seek()有三种用法: seek(offset,whence) offset 控制光标移动的位移量(字节) whence 模式 0 基于文件开头移动多少字节 1 基于光标当前所在位置移动多少字节 2 基于文件末尾移动多少字节 ps:1和2只能在二进制模式下使用 0无所谓
2、tell()
用来获取光标当前的位置(移动的字节数) 代码表示: 文件名.tell() # 返回光标当前所在的字节数
以上就是Python基础之文件操作及光标移动详解的详细内容,更多关于Python文件操作光标移动的资料请关注脚本之家其它相关文章!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?