1.初识文件操作
2.只读(r,rb)
3.只写(w,wb)
4.追加(a,ab)
5.r+读写
6.w+写读
7.a+写读(追加写读)
8.其他写作方式
9.文件的修改以及另一种打开文件句柄的方式
主要内容:   
1.我们可以通过使用open()函数的方式打开文件的句柄
打开文件的方式:r,w,a,r+,w+,a+,rb,wb,ab,r+b,w+b,a+b,默认使用r(只读模式)
2.只读(r和rb)操作

# r模式
f = open('H:/123.txt', mode='r',encoding='UTF-8') # 打开123文件,用只读的方式,编码格式是UTF-8
centent = f.read()  # 读取文件
print(centent)      # 输出内容
f.close()           # 关闭文件
 
# rb模式
f = open('H:/123.txt', mode='rb' ) # 打开123文件,用只读字节的方式
centent = f.read()  # 读取文件,会读取出来字节模式的
print(centent)      # 输出内容.输出字节形式的
f.close()           # 关闭文件

绝对路径和相对路径:

  绝对路径:从根目录下一直到你那个文件的位置

  相对路径:根据你当前所在位置的路径

  ../ 返回上一层

读取文件的方式:

read():将文件中的全部内容全部读取出来,弊端:占内存,如果文件太大会崩溃

read(n):读取几个字符,在rb模式下才是读取几个字节

readline():一次读取一行,每次读取的数据后面都有一个\n,需要去除

readlines():会将每一行形成一个元素,放到一个列表里

最好使用for循环的方式打开

读取完一定要f.close(),来关闭句柄

写读文件的方式(w,wb):
写的时候要注意,如果没有文件,则会创建文件,如果文件存在,则会删除文件内容,再写入新的内容

write():写入内容,在写入内容的模式下,是无法读取的

flush():刷新文件

wb模式下,可以不指定打开文件的编码,但是在写入的时候必须将字符串,转换为UTF-8的bytes数据

encode(编码):字符通过编码成为自节

decode(编码):字节通过解码成为字符

追加(a,ab)

在追加模式下. 我们写入的内容会追加在文件的结尾

读写模式(r+, r+b)

  对于读写模式. 必须是先读. 因为默认光标是在开头的.准备读取的. 当读完了之后再进行写入. 我们以后使用频率最多的模式就是r+

  需要先读在写

写读(w+, w+b)

  先将所有的内容清空. 然后写入. 最后读取. 但是读取的内容是空的, 不常用

追加读(a+)

  a+模式下, 不论先读还是后读. 都是读取不到数据的.

其他操作:
  seek(n):seek(n) 光标移动到n位置, 注意, 移动的单位是byte. 所以如果是UTF-8的中文部分要是3的倍数. 通常我们使用seek都是移动到开头或者结尾. 移动到开头: seek(0) 移动到结尾: seek(0,2) seek的第二个参数表示的是从哪个位置进行偏移, 默认是0, 表示开头, 1表示当前位置, 2表示结尾

  tell():使用tell()可以帮助我们获取当前光标位置

  truncate()截断文件

    在r+模式下. 如果读取了内容. 不论读取内容多少. 光标显示的是多少. 再写入 或者操作文件的时候都是在结尾进行的操作. 所以如果想做截断操作. 记住了. 要先挪动光标. 挪动到你想要截断的位置. 然后再进行截断 关于truncate(n), 如果给出了n. 则从开头开头进行截断, 如果不给n, 则从当前位置截断. 后面的内容将会被删除

    另一种打开文件的方式:

  with open("娃娃", mode="r", encoding="utf-8") as f1:

    这个不需要关闭文件,使用方式和上面一样

转载于:https://www.cnblogs.com/litieshuai/p/9637498.html

day08 文件操作相关推荐

  1. Python菜鸟入门:day11文件操作

    写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 传送门: day01基础知识 day02知识分类 day03 ...

  2. day08-文本及csv文件操作

    day08 文本文件的操作及csv文件的操作 一.文本文件的操作 1.1open()和 close()方法 将数据从瞬时状态转换为持久状态 f = open(参数1,参数2,参数3-) - 打开文件, ...

  3. Linux 僵死进程 文件操作

    目录 复制进程:fork() 习题一: 习题二 习题三 习题四 僵死进程 test.c 解决方法wait 法一 法二 文件描述符 文件操作 open read write close open.c 写 ...

  4. C++核心编程(四)--文件操作

    5 文件操作 程序运行时产生的数据都属于临时数据,程序一点运行结束,就会被释放 通过文件可以将数据持久化 C++中对文件操作需要包含头文件:fstream 文件类型分为两种: 文本文件:文件以文本的A ...

  5. python codecs.open()及文件操作-文本处理 with open

    20210810 以二进制并追加的形式写入文件 20210731 f.write('\n') 换行写入 20210625 https://blog.csdn.net/a543402496/articl ...

  6. day07-字符编码、文件操作

    目录: 字符编码 文件处理 一.字符编码: #1. 什么是字符编码:将人识别的字符转换计算机能识别的01,转换的规则就是字符编码表 #2. 常用的编码表:ascii.unicode.GBK.Shift ...

  7. HTML5 本地文件操作之FileSystemAPI整理(二)

    一.文件目录操作 1.DirectoryEntry对象 属性: 1.isFile: 操作对象的是否为文件,DirectoryEntry对象固定其值为false 2.isDirectory: 操作对象是 ...

  8. python3 转码的函数_python基础3之文件操作、字符编码解码、函数介绍

    内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: 1 #/usr/bin/e ...

  9. linux文件编辑操作,Linux下文本编辑及其文件操作

    文本编辑及其文件操作 Vim 命令模式: dd 删除当前行 yy 2yy nyy 复制 从光标算起,复制n行 p 粘贴 默认粘贴在光标的下一行 u 撤销 末行模式: :wq 保存退出 :wq! 强制保 ...

最新文章

  1. 万字长文:详解 Spring Boot 中操作 ElasticSearch
  2. meanpool maxpool 前向和反向传播
  3. UI标签库专题八:JEECG智能开发平台 Menu(左侧菜单生成标签)
  4. Bengio:我留在学术圈为全人类作贡献,而不是为某一个公司赚钱
  5. mysql2.1.4安装_安装Apache2.2.4+Mysql5.0.27+php5.2.1详细安装说明
  6. LeetCode(226)——翻转二叉树(JavaScript)
  7. Git使用方法(三)-小技巧篇
  8. Java小白进阶笔记(5)-进阶面向对象
  9. CentOS 7下网络设备命名
  10. CF 71C. Round Table Knights
  11. iptables命令结构之匹配扩展
  12. Java中的BlockingQueue队列
  13. 数据结构小知识点——广义表 “朝闻道”知识分享大赛
  14. 图片文字转换为文本怎么做?图片转文本的简单方法介绍
  15. 基于大恒相机的VS工程配置
  16. 安防巡逻机器人在不同应用场景下的作用是什么?
  17. 华硕飞行堡垒系列无线网经常显示“无法连接网络” || 一打开游戏就断网
  18. 停车场微信支付系统 本地服务器,一种基于微信支付的停车自动收费系统
  19. PHP使用preg_split函数分割含换行和分号字符串
  20. 《悟透JavaScript》犹抱琵琶半遮面

热门文章

  1. javaScript 中 call 函数的用法说明
  2. 甭给《程序员》把脉——你不是主编
  3. Leetcode 109
  4. 20172324 2018-2019-1《程序设计与数据结构》实验1报告
  5. npm和gulp学习
  6. PHP修改表格(增删改)
  7. 标准模板库(STL)学习探究之Multimap容器
  8. 读书笔记:《亮剑 .Net》——将类转化为XML并保存已经去读后反序列化为类对象...
  9. 安装node.js、webpack、vue 和vue-cli 以及安装速度慢/不成功的解决方法
  10. PU-Net: Point Cloud Upsampling Network