文件的模式和操作

今日内容总结

  • 文件操作
  • 文件读写模式
  • 文件操作模式
  • 文件诸多方式
  • 文件内光标的移动

今日内容详解

文件操作

1.文件的概要
 就是操作系统暴露给用户操作硬盘的快捷方式
2.代码打开文件的两种方式
方式1:
 f = open(文件路径,读写模式,encoding='utf8')
  f.close()
open 方法的第一个参数是文件路径 并且撬棍跟一些字母的组合会产生特殊的含义导致路径查找混乱 
为了解决该问题可以在字符串的路径前面加字母r
r'D\a\n\t'
只要涉及到路径的编写 加上r不会错
 
方式2with open('a.txt','r',encoding='utf8') as f1:
     with 子代码块
  with 上下文管理好处在于子代码运行结束自动调用close方法关闭资源
  with 可以同时打开多个文件
   with open() as f, with open() as f1, with open() as f2:
      子代码

文件读写模式

'r' 只读模式:只能读不能写
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())
'w'只写模式: 只能写不能读
1.文件路径不存在:自动创建
# with open(r'b.txt', 'w', encoding='utf8') as f:
#     pass 
2.文件路径存在:先清空文件内容 之后再写入
 with open(r'a.txt', 'w', encoding='utf8') as f:
    f.write('假期综合征 赶紧要调整\n')
    f.write('假期综合征 赶紧要调整\n')
    f.write('假期综合征 赶紧要调整\n')
'''强调:换行符需要自己添加 并且在后续数据读取比对的时候也一定要注意它的存在'''
'a' 只追加模式:文件末尾添加数据
1.文件路径不存在:自动创建
# with open(r'c.txt', 'a', encoding='utf8') as f:
    #     pass
2.文件路径存在:自动文件末尾等待追加内容
# with open(r'a.txt', 'a', encoding='utf8') as f:
 #   f.write('放假七天和上班七天感觉是完全不一样的')
'''
关键字
pass
只补全语法不执行功能 本身没有任何的含义
"""

文件操作模式

t 文本模式
默认的模式 r w a 实际全称是 rt wt at
1.只能操作文本文件
2.读写都是以字符为单位
3.需要指定encoding参数 如果不知道则会采用计算机默认编码
b 二进制模式(bytes模式)
这个没有默认模式 需要自己指定 rb wb ab 
1.可以操作任意类型的文件
2.读写都以字节为单位
3.不需要指定encoding参数 本身就已经是二进制模式 不需要编码

文件诸多方法

1.read()
一次性读取文件内容 并且光标停留在文件末尾 继续读取则没有内容
并且当文件内容比较多的时候 该方法还可能会造成计算机内存溢出
​```括号内还可以填写数字 在文本模式下 表示读取几个字符```
2.for循环
一行行读取文件内容 避免内存溢出现象的产生
3.readline()
一次只读一行内容
4.readlines()
一次性读取文件内容 会按照行数组织成列表的一个个数据值
5.readable()
判断文件是否具备读数据的能力
6.write()
写入数据
7.writeable()
判断文件是否具备写数据的能力
8.writelines()
接收一个列表 一次性将列表中所有的数据值写入
9.flush()
将内存中文件数据立刻刷到硬盘 相当于ctrl + s

文件内光标的移动

seek(offset, whence)
     offset是位移量 以字节为单位
     whence是模式   0  1  2
0是基于文件开头
文本和二进制模式都可以使用
1是基于当前位置
只有二进制模式可以使用
2是基于文件末尾
只有二进制模式可以使用
tell() 查看当前光标所在位置
代码如下:
with open(r'b', 'rb') as f:
    print(f.read(4).decode('utf8'))
    print(f.tell())  # 返回光标距离文件开头产生的字节数
    f.seek(3, 1)
    print(f.read().decode('utf8'))
posted @   hugmi男孩  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
  1. 1 原来你也在这里 周笔畅
  2. 2 世间美好与你环环相扣 柏松
  3. 3 起风了 吴青峰
  4. 4 极恶都市 夏日入侵企划
起风了 - 吴青峰
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 米果

作曲 : 高橋優

编曲 : 刘胡轶/貢多杰

制作人 : 刘胡轶/吴青峰

配唱制作人 : 刘胡轶

乐器监制 : 刘胡轶

吉他 : 胡晨

贝斯 : 甯子达

弦乐录音棚 : 中国剧院录音棚

录音工程师 : 倪涵文/李游/李杨/邢铜/韩宽/李巍

录音监制 : 倪涵文/李游

混音&母带工作室 : OKmastering studio

混音&母带工程师 : 全相彦

制作协力 : 刘西洋

制作发行 : 智慧大狗 × 天才联盟

出品人 : 张葛

监制 : 崔恕/王明宇

弦乐监制 : 李朋

弦乐 : 国际首席爱乐乐团

鼓(打击乐):祁大为

和音编写&演唱:鱼椒盐

人声&吉他&鼓(打击乐)录音棚:55Tec studio

我曾将青春翻涌成她

我曾将青春翻涌成她

也曾指尖弹出盛夏

心之所动 且就随缘去吧

这一路上走走停停

这一路上走走停停

顺着少年漂流的痕迹

迈出车站的前一刻

竟有些犹豫

不禁笑这近乡情怯

不禁笑这近乡情怯

仍无可避免

而长野的天

依旧那么暖

风吹起了从前

从前初识这世间

从前初识这世间

万般流连

看着天边似在眼前

也甘愿赴汤蹈火去走它一遍

如今走过这世间

如今走过这世间

万般流连

翻过岁月不同侧脸

措不及防闯入你的笑颜

我曾难自拔于世界之大

我曾难自拔于世界之大

也沉溺于其中梦话

不得真假 不做挣扎 不惧笑话

我曾将青春翻涌成她

我曾将青春翻涌成她

也曾指尖弹出盛夏

心之所动 且就随缘去吧

逆着光行走 任风吹雨打

短短的路走走停停

短短的路走走停停

也有了几分的距离

不知抚摸的是故事 还是段心情

也许期待的不过是 与时间为敌

再次看到你

微凉晨光里

笑得很甜蜜

从前初识这世间

从前初识这世间

万般流连

看着天边似在眼前

也甘愿赴汤蹈火去走它一遍

如今走过这世间

如今走过这世间

万般流连

翻过岁月不同侧脸

措不及防闯入你的笑颜

我曾难自拔于世界之大

我曾难自拔于世界之大

也沉溺于其中梦话

不得真假 不做挣扎 不惧笑话

我曾将青春翻涌成她

我曾将青春翻涌成她

也曾指尖弹出盛夏

心之所动 且就随缘去吧

晚风吹起你鬓间的白发

晚风吹起你鬓间的白发

抚平回忆留下的疤

你的眼中 明暗交杂 一笑生花

我仍感叹于世界之大

我仍感叹于世界之大

也沉醉于儿时情话

不剩真假 不做挣扎 无谓笑话

我终将青春还给了她

连同指尖弹出的盛夏

心之所动 就随风去了

以爱之名 你还愿意吗

点击右上角即可分享
微信分享提示