发布于2019-11-17 12:12 阅读(801) 评论(0) 点赞(15) 收藏(0)
1、什么是文件
操作系统提供给你操作硬盘的一个工具
2、为什么要用文件
因为人类和计算机要永久保存数据
3、怎么用文件
相对路径:a.txt # 必须与当前py文件在同一级目录
绝对路径:D:\项目路径\pxxx\xxx\a.txt
f = open("a.txt") print(f.readable()) # 判断当前文件是否可读 print(f.writable()) # 判断当前文件是否可写 # del f # 回收变量资源 f.close() # 回收操作系统的资源 with open('a.txt',mode='r')as rf,\ open('a.txt',mode='w')as wf: # with会自动帮你回收操作系统的资源,无需自己操作 print(rf.readable()) print(wf.writable()) # r进行转义 with open(r'D:\项目路径\python13期\day07\a.txt')as f: print(f.read()) # 读取文件
4、文件处理模式
# 默认打开文件的模式:rt read text # rb read bytes with open(r'dir\a.txt',mode='rb')as f: print(f.read()) with open(r'th.jpg',mode='rb')as rf,\ open('lixiaoran.png',mode='wb')as wf: lixiaoran = rf.read() wf.write(lixiaoran)
5、文件打开模式
""" 打开文件的三种模式: r : 1、只读 2、如果文件不存在,会报错 w:(慎用) 1、只写 2、如果文件不存在,则新建一个文件写入数据 3、如果文件内存在数据,会将数据清空,重新写入 a: 1、追加写 2、如果文件内存在数据,会在已有数据的后面追加数据 3、如果文件不存在,则新建一个文件写入数据 处理文件的模式: t b """ with open(r'dir\b.txt','r',encoding='gbk')as f: print(f.readable()) print(f.read()) print(f.readline()) # 执行一次,打印一行内容 print(f.readlines()) print(f.read()) print(f.readable()) print(f.read()) for i in f: print(i) with open(r'dir\b.txt', 'w', encoding='gbk')as f: # f.write("nick is great") f.writelines(["bonny\n",'haha']) with open(r'dir\aaaaa.txt','a',encoding='gbk')as f: print(f.writable()) f.write("\nwonderful")
6、文件打开模式补充(了解)
# r+ 模式 有文件时追加写,没有文件报错 with open('a.txt','r+',encoding='utf-8')as f: f.read() f.write('我爱北京天安门') with open('b.txt','r+',encoding='utf-8')as f : f.write('小猪佩奇') #w+模式 清空原文件,写入新数据,没有原文件,创建新文件并写入数据 with open('a.txt','w+',encoding='utf-8')as f: f.write('肥洋洋\n') f.write('美洋洋\n') #a+模式 在原文件末尾追加写入数据,没有文件时创建新文件并写入数据
with open('a.txt','a+',encoding='utf-8')as f: f.write('灰太狼\n')
7、文件内光标的移动
''' f.seek(offset,whence) offset: 相对偏移度 (光标移动的位数)针对的是字节 whence:指定光标位置从何开始 0:从文件开头 1:从当前位置 2:从文件末尾 补充: utf-8: 中文是3个bytes 英文是1个bytes gbk: 中文是2个bytes 英文是1个bytes '''
#文件内光标的移动 with open(r'a.txt','r',encoding='utf-8')as f: f.seek(3,0) print(f.read(6))
结果:
#seek()参数1的使用 with open(r'a.txt','rb')as f: f.read(6) f.seek(3,1) print(f.tell()) print(f.read(3).decode('utf-8')) #seek()参数2的使用 with open(r'a.txt','rb')as f: # print(f.read()) f.seek(-6, 2) print(f.tell()) print(f.read(3).decode('utf-8'))
8、写入一个动态监测文件动态的脚步
作者:头疼不是病
链接:https://www.pythonheidong.com/blog/article/158018/035081a4721361e37015/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!