python文件操作-r、w、a、r+、w+、a+和b模式
对文件操作的基本步骤
f=open('a.txt','r',encoding='utf-8')
data=f.read()
print(data)
f.close()
文件的打开和关闭使用open()、close()函数,文件刚打开时光标在最前面
open()函数的第一个参数为要打开的文件名,默认路径为这个脚本所在路径;第二个参数为打开模式,第三个参数为编码格式
文件的打开模式如下,省略的话默认为只读r,文件必须存在否则会报错;使用只写w模式打开,如果文件存在则先将原文件内容清空再写,不存在则创建一个空文件再写;使用读写模式a打开如果文件存在则在原文件内容上追加写,不存在的话先创建
f.readable() 判断文件是否可读,返回True或False
f.readline() 每次读取一行,当读取到文件末尾时再执行readline读取内容为空
f.readlines() 将文件所有内容读出放到一个列表,每行内容为一个元素,例如['hello\n', 'hi\n', 'nice\n']
如果在文件打开时,指定newline=‘’,则换行的结果显示为/r/n(windows平台的换行符为/r/n,unix和linux平台的换行符为/n)
f1=open('b.txt','r',encoding='utf-8')
f2=open('b.txt','r',encoding='utf-8',newline='')
print(f1.readlines())
print(f2.readlines())
f1.close()
f2.close()
执行结果为
['123\n', 'abc']
['123\r\n', 'abc']
f.writable() 判断文件是否可写,返回True或False
f.closed 判断文件是否关闭,返回True或False
f.write() 将内容写入文件
f.writelines() 将列表内容写入文件,f.writelines(['hello\n', 'hi\n', 'nice\n'])
f.encoding 文件打开时候的编码
f.flush() 将内容中的内容刷到硬盘
直接使用open函数打开文件时,还需要手动关闭close文件,否则文件会一直占据内存。使用with open() as f打开文件则无需手动关闭,使用例子如下。
def file_operation():
with open('a.txt','a+',encoding='utf-8') as f:
f.write('hello')
print(f.read())
文件默认是以t即文本模式进行处理,
b为二进制模式,可以处理除了文本之外的图片、音频、视频等格式的文件,还可以跨平台处理
f=open('test11.py','rb')------以b的方式打开文件时不能指定编码
data=f.read()
print(data.decode('utf-8'))------读取之后以utf-8格式对二进制进行解码
f=open('test22.py','wb')
f.write(bytes('1111\n',encoding='utf-8'))--------bytes函数将指定内容以uft-8格式编码为二进制
f.write('22222\n'.encode('utf-8'))----------encode直接将指定内容以uft-8格式编码为二进制
文件内光标的移动
除去read( )是以字符进行读取的,其他光标的移动都是以字节为单位进行的,如seek、tell、truncate
read(3)表示读取3个字符
seek(3)表示光标向后移动3个字节,默认是从光标在文件最前面开始,也即seek(3,0)
光标的相对移动需要在打开时指定b模式,seek的第二个参数表示移动方式,0为默认方式,即从文件最开头移动,1是相对上一次移动,2是从文件末尾移动
seek(3,1) 表示从光标上一次所在的位置向后移动3个字节
seek(-3,2)表示从文件末尾开始向前移动
truncate(3)表示截取文件前3个字节,必须以可写的方式打开,w和w+除外
tell( )表示显示当前光标所在的字节
python文件操作-r、w、a、r+、w+、a+和b模式的更多相关文章
- python 文件操作 r w a
python基础-文件操作 一.文件操作 对文件操作的流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 打开文件时,需要指定文件路径和以何等方式打开文件, ...
- Python基础篇【第2篇】: Python文件操作
Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...
- [Python学习笔记][第七章Python文件操作]
2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...
- 初学Python——文件操作第二篇
前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...
- day8.python文件操作
打开和关闭文件 open函数 用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写. file = open(file_name [, access_ ...
- Python之路Python文件操作
Python之路Python文件操作 一.文件的操作 文件句柄 = open('文件路径+文件名', '模式') 例子 f = open("test.txt","r&qu ...
- Python:文件操作技巧(File operation)(转)
Python:文件操作技巧(File operation) 读写文件 # ! /usr/bin/python # -*- coding: utf8 -*- spath = " D:/dow ...
- 小学生都能学会的python(文件操作)
小学生都能学会的python(文件操作) 1. open("文件路径", mode="模式", encoding="编码") 文件的路径: ...
- Python文件操作:文件的打开关闭读取写入
Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...
- 第十二章 Python文件操作【转】
12.1 open() open()函数作用是打开文件,返回一个文件对象. 用法格式:open(name[, mode[, buffering[,encoding]]]) -> file obj ...
随机推荐
- vue 报错./lib/html5-entities.js this relative module was not
原文参考http://www.bozhiyue.com/web/yuyan/2017/0501/1236324.html 然后就把他俩注视了,是不报错了,但是也没有运行不出来: 居然是因为早上我360 ...
- eclipse快速向下复制行
Ctrl+Alt+↓ 复制当前行到下一行(复制增加)
- 洞察行业领先者的前沿思想——第五届TOP100全球软件案例研究峰会精彩谢幕
(第五届TOP100summit开幕式现场) 12月09日-12日,由msup主办的第五届TOP100全球软件案例研究峰会(以下简称TOP100summit)在北京国家会议中心举行,作为互联网行业最有 ...
- ubuntu查看隐藏文件夹
打开所要查看的文件目录,然后ctrl + h 快捷键可以显示隐藏文件 例如在/home目录下可以看到以下隐藏文件
- 2018牛客网暑期ACM多校训练营(第五场) F - take - [数学期望][树状数组]
题目链接:https://www.nowcoder.com/acm/contest/143/F 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K ...
- XTU 1261 - Roads - [最小割][2017湘潭邀请赛B题(江苏省赛)]
之前在网上搜了一个下午没搜到这道题的题解,然后同时又对着叉姐写的两行字题解看了一个下午: 虽然基本上已经知道了这题的思路,但愣是因为自己代码实现起来太繁复,外加不确定正确性,没敢码…… 但是一道题肝了 ...
- SecureFX 中文乱码
1. 找到SecureFX配置文件夹(选项–全局选项,常规下的配置文件夹),比如:C:\Users\James\AppData\Roaming\VanDyke\Config\Sessions 2. ...
- unity3d之 C# WaitFOrSeconds()
学习unity3d不久.在使用WaitFOrSeconds()时,遇到了不少麻烦,故记录,以警示后人. 首先介绍C#和javascript 在使用它有非常大的差别. javascript能够直接使用 ...
- 从浏览器输入参数,到后台处理的vertx程序
vertx由于性能较高,逐渐变得流行.下面将一个vertx的入门案例. 添加依赖 <!-- vertx --> <dependency> <groupId>io.v ...
- Spark-2.0原理分析-shuffle过程
shuffle概览 shuffle过程概览 shuffle数据流概览 shuffle数据流 shuffle工作流程 在运行job时,spark是一个stage一个stage执行的.先把任务分成stag ...