python 基础学习笔记(5)--文件操作
**python 的文件操作**
- [ ] 使用python来读写文件是非常简单的操作,我们使用open()来打开一个文件,获取到文件的语柄,然后通过文件语柄就可以进行各种各样的操作了。
- [ ] 打开文件的方式:
> r,w,a ;
> r+,w+,a+ ;
> rb,wb,ab ;
> r+b,w+b,a+b;
说到打开文件,我们要了解一些绝对路径和相对路径的区别
> 绝对路径:从根目录下开始一直到文件名。
> 相对路径:同一个文件夹下面的文件,直接写文件名就可以。
1. r模式:只读操作。
> `f = open('西游记.txt', mode='r', encoding= 'utf-8')` #打开文件
> `content = f.read()` #读取文件
> `print(content)` #显示文件
> `f.close()` #关闭文件
‘open函数’ 中第一个参数放入的是要打开的文件名字,第二个参数是要对这个文件进行的操作,第三个参数是用什么编码方式打开文件的内容。
‘f’ 可以写成任意变量等,他被称为:文件语柄,文件操作符,或者文件操作对象等。
‘open’ 是python 调用的操作系统(Windows,Linux,等)的功能,而Windows 的默认编码方式为 gbk,Linux默认编码方式为 utf-8,所以你的文件用什么编码保存的,就用什么方式打开,一般都是utf-8.
‘mode’ 为打开方式,常见的有 r,w,a,r+,w+,a+,rb,wb,ab,等
‘.close()’ 为关闭文件
2. rb 模式。
> f = open('西游记',mode= 'rb')
> content = f.read()
> print(content)
> f.close
> 结果
> 形如:
> b'\xe6\xa0\x87\xe9\xa2\x98\xe5\xbe\x88\xe5\xa5\xbd'
rb 读出来的数据是bytes类型,在rb模式下,不能encoding 字符集。(作用:在读取非文本文件的时候,比如要读取mp3,图像,视频等信息的时候就需要用到rb,因为这种数据是没有办法直接显示出来的,这个字节的模式是用于传输和存储。)
3. 读取操作
> read():是将文件中所有的内容都读取。其中 read()还可以指定我们想要读取的内容数量
> readline():读取每次只读取一行,注意点:readline()读取出来的数据在后面都有一个\n
> readlines():将每一行形成一个元素,放到一个列表中,将所有的内容全部读出来,如果文件很大,占内存很大,容易崩盘
> 注意,读完的文件语柄一定要关闭
4. 写模式:
> 1.覆盖写:(只写)
> `f = open('西游记', mode= 'w', encoding='utf-8')`
> `f.write('猪八戒')`
> `f.flush()`
> `f.close()`
> 结果
> 当我们选着使用w模式的时候,再打开文件的时候就会把文件中的所有内容清空,然后在操作。
> 所以文件中仅剩:猪八戒
> (注意点:如果文件不存在使用‘w’模式会创建文件)
> wb 模式:不可元指定打开文件的编辑,但是写文件的时候必须将字符串转化成utf-8的bytes数据
5. 追加
- [ ] 只要是a,ab,a+都是在文件的末尾写入,不论光标在任何位置。
- [ ] 在追加模式下我们写入的内容追加在文件的末尾。
- [ ] a模式,如果文件不存在就会创建一个新的文件。
6. r+读写模式:对于读写模式,必须是先读后写,因为光标默认的在开头的位置,当读完了以后再进行写入,使用频率最高的模式就是r+。
> 深坑请注意: 在r+模式下. 如果读取了内容. 不论读取内容多少. 光标显示的是多少. 再写入
或者操作文件的时候都是在结尾进行的操作.
7. w+写读模式:先将所有的内容清空,然后再写入,最后读取,但是读取的内容是空的,不常用。
8. 追加读(a+,a+b):a+模式下,不论是先读还是后读,都是读不到数据的
**其他操作**
- seek():
> - seek(n)光标移动到n位置,注意: 移动单位是byte,所有如果是utf-8的中文部分要是3的倍数
> - 通常我们使用seek都是移动到开头或者结尾移动到开头:seek(0,0) 可以看做成seek(0)
> - seek(6)这种如果是单数并且不是0的就是按照字节来移动光标
> - 移动到结尾:seek(0,2) seek的第二个参数表示的是从哪个位置进行偏移,默认是0,表示开头,1表示当前位置,2表示结尾
- tell():
使用tell()可以帮我们获取当前光标在什么位置
**以上就是基本的python文件操作**
python 基础学习笔记(5)--文件操作的更多相关文章
- python的学习笔记01_5文件操作
一,文件操作基本流程. 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众 ...
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- python学习笔记三 文件操作(基础篇)
文件操作 打开文件 open(name[,mode[,buffering]]) open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉] w ...
- python基础学习笔记——文件操作
文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...
- python学习笔记之文件操作(三)
这篇博客小波主要介绍一下python对文件的操作 对文件的操作主要分为三步: 1.打开文件获取文件的句柄,句柄也是文件描述符 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件,是小波随写的周杰伦 ...
- python学习笔记4(文件操作)
文件操作: 1.f=open(”caidan”,”w”,encoding=”utf8”) 直接打开一个文件,如果文件不存在则创建文件 f.close() 2.with open (”caid ...
- Python基础学习笔记(十二)文件I/O
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-files-io.html ▶ 键盘输入 注意raw_input函 ...
- Python基础学习笔记(六)常用列表操作函数和方法
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-lists.html 3. http://www.liaoxuef ...
- python学习笔记(三):文件操作和集合
对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以只读方式打开一个 ...
随机推荐
- 第3节:Java基础 - 必知必会(上)
第3节:Java基础 - 必知必会(上) 本篇是基础篇的第一小节,我们从最基础的java知识点开始学习.本节涉及的知识点包括面向对象的三大特征:封装,继承和多态,并且对常见且容易混淆的重要概念覆盖和重 ...
- 回文自动机(PAM) 入门讲解
处理回文串,Manacher算法也是很不错,但在有些问题的处理上比较麻烦,比如求本质不同的子串的数量还需要结合后缀数组才能解决.今天的们介绍一种能够方便的解决关于回文串的问题的算法--PAM. 一些功 ...
- 【Eclipse】Spring Tool Suite插件
Spring Tool Suite插件 最新下载地址:https://spring.io/tools3/sts/all 以前下载地址:https://spring.io/tools3/sts/lega ...
- C语言中表达n次方
C语言中表达n次方可以用pow函数. 函数原型:double pow(double x, double y) 功 能:计算x^y的值 返 回 值:计算结果 举例: double a; a = p ...
- poj 1321 棋盘问题 (回溯法)
棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 69951 Accepted: 33143 Descriptio ...
- 01-EF Core笔记之创建模型
使用EF Core的第一步是创建数据模型,模型建的好,下班走的早.EF Core本身已经设置了一系列约定来帮我们快速的创建模型,例如表名.主键字段等,毕竟约定大于配置嘛.如果你想改变默认值,很简单,E ...
- 3种骚操作,教你查看 Java 字节码!
在我们工作.学习.以及研究 JVM 过程当中,不可避免的要查看 Java 字节码,通过查看字节码可以了解一个类的编译结果,也能通过编译器层面来分析一个类的性能. 字节码文件是不能直接打开的,下面栈长教 ...
- STT-MRMA技术优点
到目前为止,设计人员可以使用的存储技术是易变的,这意味着在断电后,存储器中的数据内容会丢失.但是,随着Everspin Technologies推出256Mb STT-MRAM,系统现在可以拥有像DR ...
- dataguard ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
错误的意思是listener 不知道连接解析器中的请求服务,这里要说静态监听和动态监听了动态注册是在instance启动的时候PMON进程根据init.ora中的instance_name,servi ...
- Aiseesoft 4K Converter for Mac如何转换视频格式?Aiseesoft 4K使用方法
Aiseesoft 4K如何转换视频格式?由于这款4K UHD转换器支持最新的4K编码/解码技术,因此您可以将4K视频转换为4K电视或其他设备支持的任何其他视频格式.Aiseesoft 4K使用方法分 ...