博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python基础篇 08 文件操作
阅读量:4346 次
发布时间:2019-06-07

本文共 1355 字,大约阅读时间需要 4 分钟。

本节主要内容:

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, 从当前置截断.
的内容将会被删除

 . 修改⽂件以及另⼀种开⽂件的⽅

⽂件修改: 只能将⽂件中的内容取到内存中, 将信息修改完, 然后将⽂件删除, 将新
⽂件的字改成老⽂件的

 

转载于:https://www.cnblogs.com/dalaoban/p/9157315.html

你可能感兴趣的文章
File and Folder Permissions
查看>>
DBContext
查看>>
firewall 允许app访问网络
查看>>
window.addEventListener介绍说明
查看>>
JSON字符串转JavaBean,net.sf.ezmorph.bean.MorphDynaBean cannot be cast to ……
查看>>
Java小知识----POI事件模式读取Excel 2007
查看>>
Linux常见英文报错中文翻译
查看>>
17. Letter Combinations of a Phone Number
查看>>
高铁运营数据积累
查看>>
collections模块方法详解
查看>>
使用session防止重复提交
查看>>
10 款新鲜出炉的jQuery UI插件
查看>>
A. 【UR #16】破坏发射台
查看>>
遇到过的小问题
查看>>
梳理知识点(一)
查看>>
ftk学习记(输入框篇)
查看>>
nginx菜鸟模块开发遇到的问题汇总之nginx_array_t
查看>>
ssh登录问题
查看>>
Azure Table storage 之改进DynamicTableEntity类为其添加动态语言扩展
查看>>
在每页(分页)报表中重复显示标题 - SQL Server Reporting Service (SSRS)
查看>>