本节主要内容:
1. 初识⽂件操作
2. 只读(r, rb)
3. 只写(w, wb)
4. 追加(a, ab)
5. r+读写
6. w+写读
7. a+写读(追加写读)
8. 其他操作⽅法
9. ⽂件的修改以及另⼀种打开⽂件句柄的⽅式

主要内容:
⼀. 初识⽂件操作
使⽤python来读写⽂件是⾮常简单的操作. 我们使⽤open()函数来打开⼀个⽂件, 获取到⽂
件句柄. 然后通过⽂件句柄就可以进⾏各种各样的操作了. 根据打开⽅式的不同能够执⾏的操
作也会有相应的差异.
打开⽂件的⽅式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b 默认使⽤的是r(只读)模式

⼆. 只读操作(r, rb)

绝对路径和相对路径:
1. 绝对路径:从磁盘根⽬录开始⼀直到⽂件名.
2. 相对路径:同⼀个⽂件夹下的⽂件. 相对于当前这个程序所在的⽂件夹⽽⾔. 如果在同
⼀个⽂件夹中. 则相对路径就是这个⽂件名. 如果在上⼀层⽂件夹. 则要../

读取文件的方法:

f.read(n)   n--->>>>n个字符  如果是rb,则n指字节

将文件全部读取出来,弊端是,占内存,如果文件过大,会导致内存崩溃.

 f.readline()    一行一行的读,但是读出来的结尾会有一个\n,需要我们用strip()去掉

注意:  读取完的文件句柄一定要关掉    f.close()

三. 写模式(w, wb)
写的时候注意. 如果没有⽂件. 则会创建⽂件, 如果⽂件存在. 则将原件中原来的内容删除, 再
写入新内容

追加模式,a    写入的内容会加在结尾.

五. 读写模式(r+, r+b)
对于读写模式. 必须是先读. 因为默认光标是在开头的. 准备读取的. 当读完了之后再进⾏
写入. 我们以后使⽤频率最⾼的模式就是r+

 还有写读(w+),追加读(a+)等不常用,可以自己了解下

 其他操作:

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

2. tell() 使⽤tell()可以帮我们获取到当前光标在什么位置

 显示的是字节数,中文就是3的倍数

 3. truncate() 截断⽂件

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

 九. 修改⽂件以及另⼀种打开⽂件的⽅式
⽂件修改: 只能将⽂件中的内容读取到内存中, 将信息修改完毕, 然后将源⽂件删除, 将新
⽂件的名字改成老⽂件的名字

最新文章

  1. SQL Server 批量完整备份
  2. java的poi技术写Excel的Sheet
  3. 配置自己的OpenGL库,glew、freeglut库编译,库冲突解决(附OpenGL Demo程序)
  4. Ajax原生写法
  5. favicon的制作
  6. c#的学习
  7. 【TYVJ】1307 联络员(最小生成树)
  8. iOS:crash崩溃日志分析
  9. D3.js 布局
  10. git 上传
  11. hihoCoder#1015 : KMP算法 (KMP模板)
  12. javascript中继承(二)-----借用构造函数继承的个人理解
  13. AES加密解密的例子小结
  14. Java 实现下载
  15. linux脚本定期执行
  16. Spring Boot 1.4测试的改进
  17. ThreadPoolExecutor简介
  18. Win10 1803 Spring Creators update Consumer edition的版本记录
  19. 一份通过IPC$和lpk.dll感染方式的病毒分析报告
  20. eclipse 假死

热门文章

  1. mui(手机)
  2. andorid 网络通信最简单demo
  3. putty 启动 linux 下的oracle
  4. Unity3d获得Android和ios设备的唯一标识
  5. mysql数据去重复distinct、group by
  6. Unity 游戏框架搭建 (十一) 简易AssetBundle打包工具(一)
  7. win7 bat copy 一个文件 到另外的文件夹内,路径得用引号哦
  8. linux tail + head 查看指定行
  9. Java : JPA相关以及常用注解
  10. linux上面安装LAMP环境