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 ...
随机推荐
- 三维重建项目:Photo Tourism: Exploring Photo Collections in 3D
项目地址:http://phototour.cs.washington.edu/ Photo Tourism是华盛顿大学的SFM重建的过程 Paper:Photo Tourism: Exploring ...
- POJ 2653 - Pick-up sticks - [枚举+判断线段相交]
题目链接:http://poj.org/problem?id=2653 Time Limit: 3000MS Memory Limit: 65536K Description Stan has n s ...
- YARN Architecture
The fundamental idea of YARN is to split up the functionalities of resource management and job sched ...
- 异步IO
异步IO 在IO编程一节中,我们已经知道,CPU的速度远远快于磁盘.网络等IO.在一个线程中,CPU执行代码的速度极快,然而,一旦遇到IO操作,如读写文件.发送网络数据时,就需要等待IO操作完成, ...
- -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
本人使用mac系统,命令行工具使用的iterm2,登录自己的云主机的时候 每次都要提示如下错误 -bash: warning: setlocale: LC_CTYPE: cannot change l ...
- Django - 学习目录
Django 基础 web应用/http协议/web框架 Django简介 Django - 路由层(URLconf) Django - 视图层 Django - 模板层 Django - 模型层 - ...
- TortoiseGit的使用
TortoiseGit只是一个外壳而已,它调用的是msysgit,相当于msysgit的windows gui而已,如果喜欢用git命令行,那就不需要安装它. 所以要先安装msysgit(window ...
- CentOS 6 网络设置
系统配置: 系统硬件:vmware workstation 系统版本:Centos-6.6-x86_64 路由器网关:192.168.1.1 linux系统网络设置须知: 1.主机所有网卡信息配置文件 ...
- Html各组件MIME类型
扩展名 类型/子类型 * application/octet-stream 323 text/h323 acx application/internet-property-stream ai appl ...
- "context:annotation-config" and "context:component-scan"
1.<context:annotation-config/>注册多个处理器 <context:annotation-config/>作用是向 Spring 容器注册 Autow ...