打开方式

指针位置

读取的文件类型

r

只读(默认模式)

指针在文件开头,文件不存在则报错

1. 默认读取文件都是ASCII编码的文本文件

2. 如果读取的文件是二进制文件,如图片,视频需要使用'rb'模式

3. 读取非ASCII编码的文本文件,必须 以二进制模式打开,再解码

f=open('E:/test.txt','rb')

f.read().decode('gbk')

rb

二进制格式只读

指针在文件开头,文件不存在则报错

r+

可读可写

指针在文件开头,文件不存在则报错

rb+

二进制格式可读可写

指针在文件开头,文件不存在则报错

w

只写

文件存在,则覆盖;不存在,则创建

wb

二进制格式只写

文件存在,则覆盖;不存在,则创建

w+

可读可写

文件存在,则覆盖;不存在,则创建

wb+

二进制格式可读可写

文件存在,则覆盖;不存在,则创建

a

追加

文件存在,指针在文件尾增加;不存在,则创建

ab

二进制格式追加

文件存在,指针在文件尾增加;不存在,则创建

a+

可读可写

文件存在,指针在文件尾增加;不存在,则创建

ab+_

二进制格式可读可写

文件存在,指针在文件尾增加;不存在,则创建

二、文件打开方法

举例

文件不存在

是否需要调用close()方法

注意

Python内置open函数

f=open('E:/test.txt','r')

文件不存在则会IOError

必须书写调用close()

1.文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也有限

2.当写文件时,操作系统不会立刻将数据写入磁盘,而是放内容缓存,空闲时再写入,只有调用close()方法时,操作数据才会将没有写入的数据写入磁盘。不写close()方法有可能只写了一部分数据到磁盘,剩下的数据丢失了

3.文件不存在,可以用try…finally避免,但与with比较麻烦

With语句

with open('E:/test.txt','r') as f:

文件不存在则会IOError

with语句自动调用close()方法

三、文件读写定位操作

方法

用法

注意

f.read(size)

如果没有size即f.read()一次性读取文件全部内容,返回类型str;如果有size即f.read(50)读取最多的字节内容

1.文件很小,可一次性读取,文件较大,超过内存大小,内容爆掉

2.文件过大,可用f.read(size),x为每次最多读取size字节的内容

3.如果是配置文件,调用readlines()最方便

f.readline()

每次读取一行内容,返回类型str

f.readlines()

一次读取所有内容并按行返回list

f.write()

写文件

将字符串写入文件,如果写入结束,需要在字符串后面加上"\n"

定位

f.seek(offset,from_what)

f.seek(2,0)读取位置向后移动2个字符

from_what值为文件的开始位置,可以省略;offset为偏移量

当前位置

f.tell()

f.tell(),返回当前文件位置

四、读取非ASCII文件,如utf-8,gbk类型

方法1:读取时指定类型encoding='utf-8'

with open('E:/test1.txt','r',encoding='utf-8') as f

print(f.read())

结果:

你好

方法2:

必须:1.以二进制模式打开,再解码

codecs模块:读文件时自动转换编码,直接读出unicode

import codecs

with codecs.open('E:/test.txt','rb','utf-8') as f:

f.read()

注意:有些编码不规范,会遇到UnicodeDecodeError,可能文件中有些非法编码的字符,遇到这种情况,可用open()函数可以接收errors参数,表示如果遇到编码错误后如何 处理,最简单方式是直接忽略f=open('E:/test1.txt','r',encoding='gbk',errors='ignore')

五、File对象的属性

f.closed

文件已关闭返回true,否则返回false

f.mode

返回被打开文件的访问模式

f.name

返回文件名称

python 读取asc文件_Python——文件读取与写入相关推荐

  1. python读取写入文件_Python文件读写保存操作

    记录下第一次使用Python读写文件的过程,虽然很简单,第一次实现其实也有些注意的事项. 单个文件的读操作: 我们先假设一个需求如下: 读取一个test.txt文件 删除指定字符之前的文本 需求明白之 ...

  2. python播放本地视频_python opencv 读取本地视频文件 修改ffmpeg的方法

    Python + opencv 读取视频的三种情况: 情况一:通过摄像头采集视频 情况二:通过本地视频文件获取视频 情况三:通过摄像头录制视频,再读取录制的视频 摄像头采集.本地视频文件的读取.写视频 ...

  3. python提取文件_Python文件读取常用方法

    1. 关于读取文件 f.read() 读取文件中所有内容 f.readline() 读取第一行的内容 f.readlines() 读取文件里面所有内容,把每行的内容放到一个list里面 注:因为文件指 ...

  4. python怎么分行读取txt文件_python怎么读取txt文件内容

    详细内容 读取文件: 步骤:打开 -- 读取 -- 关闭>>> f = open('/tmp/test.txt') >>> f.read() 'hello pyth ...

  5. 在python里面怎么读取文件_python怎么读取文件内容

    详细内容 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出OSError的错误. 完整的语法格式为:(推荐学习: ...

  6. python读取部分文件_Python文件读取部分,python,篇

    try: file_name = "demo2.txt" with open(file_name, encoding='UTF-8') as file_obj: content = ...

  7. python可以处理哪些文件_python文件处理

    1.python文件概念 python中文件就是一个对象,而linux中一切设备都可以看成文件,例如:磁盘文件,管道,网络Socket,外设等,都可以使用文件的方式对其进行操作.linux中文件的属性 ...

  8. python输入输出简单例子_Python 文件和流的简单示例

    这篇文章主要为大家详细介绍了Python 文件和流的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 1.打开文 ...

  9. 如何在python中打开文件_Python文件处理:创建、打开、追加、读、写

    在Python中,不需要导入外部库来读取和写入文件.Python为创建.写入和读取文件提供了内置的函数. 在本文中,我们将学习 如何创建文本文件 如何将数据附加到文件中 如何读取文件 如何逐行读取文件 ...

  10. 为什么python打不开_python文件打不开如何解决

    python中打开文件使用的是open()函数,获取文件对象,之后的操作都是相对于文件对象而言的.f = open('your_file.txt','r') 就可以打开一个文件进行操作.第二个参数为对 ...

最新文章

  1. [Java]Stack栈和Heap堆的区别(终结篇)[转]
  2. php调用数据库中的图片地址显示不出来,图片显示不出来,但是数据库里有显示...
  3. 洛谷 P3244 / loj 2115 [HNOI2015] 落忆枫音 题解【拓扑排序】【组合】【逆元】
  4. 电池成本涨幅“离谱” 新能源车企涨声一片
  5. 5导出word_重磅更新 !支持题库导出为word
  6. 实时数据导入kafka_实时数据仓库必备技术:Kafka知识梳理
  7. 前端html css3修炼之道,Web前端工程师修炼之道(原书第5版)
  8. Atitit.request http乱码的设计防止 检测与解决最近实践p825 attilax总结.doc
  9. 基于邻接表建图的几种方法
  10. mysql handlersocket_HandlerSocket介绍
  11. NOIP2016普及组T4(魔法阵)题解
  12. verilog实现矩阵卷积运算
  13. IDEA默认KeyMap映射快捷键
  14. SpringBoot启动报错 Failed to read candidate component class:
  15. 不等距双杆模型_电磁感应之双杆模型ppt课件
  16. 如何通俗地解释欧拉公式(e^πi+1=0)
  17. python操作无界面的chrome浏览器(转)
  18. onlyoffice文档服务器安装,CentOS7部署OnlyOffice在线办公服务器
  19. 2020年中国储能材料产业链上中下游及未来发展趋势分析,电化学储能高速发展,储氢瓶、加氢站建设拉动需求「图」
  20. IE浏览器停止服务,曾经的王者为何退役?解析浏览器背后的技术是什么?

热门文章

  1. 服务器不能全屏显示,远程服务器如何全屏显示
  2. 阿里云思维导图系列(五)阿里云关系型数据库产品全家福
  3. XTP界面在Dialog里的实现
  4. 快速提取PDF文件中的表格
  5. lotus-miner 元数据备份
  6. RTL8703/RTL8723/RTL8761/RTL8821/RTL8822系列蓝牙定频测试说明
  7. 程序员孔乙己!一个愤世嫉俗,脱离低级趣味的人!
  8. SudaMod-81.0 / crDroidAndroid-8.1(android-8.1.0_r20)红米3 2018年5月3日更新
  9. 安卓apk修改(Android反编译apk)
  10. 数据分析之数据质量分析和数据特征分析