读写参数

Character Meaning
‘r’ open for reading (default)
‘w’ open for writing, truncating the file first
‘a’ open for writing, appending to the end of the file if it exists
‘b’ binary mode
‘t’ text mode (default)
‘+’ open a disk file for updating (reading and writing)
‘U’ universal newline mode (for backwards compatibility; should not be used in new code)

读写参数组合

模式 描述
rt 读取文本,默认模式
rb 读取二进制数据
wt 写入文本
wb 写入二进制
r+ 不清空原文件,读写
w+ 清空原文件,并读写
a+ 在文件末尾读写

示例

首先在左面新建一个”abc.txt”的文件,文件的内容入如下:
I
love
CSDN

只读

只读模式(默认模式)

>>>>f=open("C:/Users/Administrator/Desktop/abc.txt","r")
>>>>print(f.read())
I
love
CSDN
>>>>f.close()

只写

写入模式

>>>>f=open("C:/Users/Administrator/Desktop/abc.txt","w")
>>>>f.write("test")
>>>>f.close()

输出的结果是:
test

在使用”w”模式时,python会把原来的文件给覆盖掉,形成新的文件,这里注意如果写入的文件不存在,python会自动新建一个文件。

追加

追加模式

>>>>f=open("C:/Users/Administrator/Desktop/abc.txt","a")
>>>>f.write("test")
>>>>f.close()

输出的结果是:
I
love
CSDNtest

二进制读写

另外我们还可以设定读取和写入的方式:
以二进制方式读取:

>>>>f=open("C:/Users/Administrator/Desktop/abc.txt","rb")
>>>>print(f.read())
>>>>f.close()
b'I\r\nlove\r\nCSDN'

with实例

import re
with open("C:/Users/Administrator/Desktop/abc.txt","r",encoding="utf-8") as f:text=f.read()
text=re.sub(r"In \[.*\]:\n","[In]:",text)
text=re.sub(r"Out\[.*\]:","[Out]:",text)
with open("C:/Users/Administrator/Desktop/abc.txt","w",encoding="utf-8") as f:f.write(text)

编码问题

将一个gbk文件转码为utf8文件.注意r,w模式只能开启一种,所以encoding就确保了是编码还是解码,在r的模式下encoding做的是decode,而在w模式下encoding做的是encode.如果使用r+或者w+encoding既做decode又做encode,而且decodeencode编码相同.

gbk = open("./gbk.txt", "r", encoding = "gbk")gbk_text = gbk.read()gbk.close()utf = open("./gbk.txt", "w", encoding = 'utf8')utf.write(gbk_text)utf.close()

open()

open(file, mode=’r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

参数 说明
file 文件路径
mode rwabt
buffering
encoding 只有在tmode下有用,指定编码和解码,默认使用系统的编码格式(win下是gbk,linux是utf8)
errors
newline 指定换行符
closefd
opener

file object

方法 描述
close() 关闭流
closed 如果已经关闭则返回true
readable() 是否可读
read() (str)读取整个文本为一个字符串
readline(size=-1) (str)返回一行,size可以指定多行
readlines(hint=-1) (list),读取所有行
seek(offset[, whence]) 更改指针偏移量
tell() 返回当前流的位置
writable() 是否可写
writelines(lines) 写入一行
write(s) 写入字符串

Python 读写文本(open)相关推荐

  1. 《Python Cookbook 3rd》笔记(5.1):读写文本数据

    读写文本数据 问题 你需要读写各种不同编码的文本数据,比如 ASCII,UTF-8 或 UTF-16 编码等. 解法 使用带有 rt 模式的 open() 函数读取文本文件(t表示text文本模式,默 ...

  2. Python 文件操作中的读写模式:open(path, ‘-模式-‘,encoding=‘UTF-8‘)+python读写文件txt +文本数据预处理

    python读写txt文件 文件的打开的两种方式f = open("data.txt","r") #设置文件对象 f.close() #关闭文件#为了方便,避免 ...

  3. python读写二进制文件(读写字节数据)

    python读写二进制文件(读写字节数据) 你想读写二进制文件,比如图片,声音文件等就是常见的二进制文件. 使用模式为 rb 或 wb 的 open() 函数来读取或写入二进制数据.比如: # Rea ...

  4. python读写csv时中文乱码问题解决办法

    参考1 参考2 参考3 CSV是英文Comma Separate Values(逗号分隔值)的缩写,顾名思义,文档的内容是由 "," 分隔的一列列的数据构成的,可以使用excel和 ...

  5. python输出csv文件中文乱码-python读写csv时中文乱码问题解决办法

    CSV是英文Comma Separate Values(逗号分隔值)的缩写,顾名思义,文档的内容是由 "," 分隔的一列列的数据构成的,可以使用excel和文本编辑器等打开.CSV ...

  6. python文件对象提供了3个读方法、分别是-Python读写文件模式和文件对象方法实例详解...

    本文实例讲述了Python读写文件模式和文件对象方法.分享给大家供大家参考,具体如下: 一. 读写文件模式 利用open() 读写文件时,将会返回一个 file 对象,其基本语法格式如: open ( ...

  7. python文件读取输出-Python 读写文件中数据

    1 需求 在文件 h264.txt 中的数据如图1,读入该文件中的数据,然后将第1列的地址删除,然后将数据输出到h264_out.txt中: 图1 h264.txt 数据截图 图2 输出文件 h264 ...

  8. python如何读写文件-Python读写文件

    python读写文件是很常见的操作,而多数情况下是对纯文件的读写操作. 我们先看一下,纯文本是如何进行读写操作的. """ created by nzh Date: 20 ...

  9. python写文件读文件-Python 读写文件和file对象的方法(推荐)

    1.open 使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('thefile.tx ...

最新文章

  1. 拆解交易系统--如何做好稳定性
  2. aop springboot 传入参数_java相关:springboot配置aop切面日志打印过程解析
  3. Nagios 监控系列学习 —— 简介和安装
  4. FAILED: ValidationFailureSemanticException partition spec {dt=2021-04-01} doesn‘t contain all (2) pa
  5. php正则表达式 匹配日期,正则表达式-正则表达式以匹配有效日期
  6. 如何用cocos2d-x来开发简单的Uphone游戏:(二) 移动的精灵
  7. Ajax_Apache访问资源文件的权限配置、资源存放路径配置、配置虚拟主机、动态网站静态网站区别...
  8. 爬壁除锈机器人_浙大研制出除锈爬壁机器人
  9. PHP排雷之编码问题
  10. 写给考完SDOI2016R2D1的自己
  11. Python编程一定要注意的那些“坑”(九):0与False
  12. android edittext最多输入,android 中如何限制 EditText 最大输入字符数
  13. vue excel导入mysql详细教程_Vue前端上传EXCEL文件,后端(springBoot+MyBatis+MySQL)解析EXCEL并批量插入/更新数据库...
  14. 05.SpringBoot的yml配置详解
  15. oracle掉电后ora 00600,ORA-00600: 内部错误代码, 参数: [kcratr1_lastbwr](转)
  16. UVA10751 Chessboard【数学水题】
  17. 大数据分析如何保证数据质量
  18. scrapy 官方中文文档地址
  19. 启发式算法,元启发式算法,超启发式算法
  20. 【数据库查询表结构】

热门文章

  1. 学习Python+numpy数组运算和矩阵运算看这254页PPT就够了
  2. wsdl 架构验证警告:来自命名空间_金九银十,正在面试吗?面试官必问:JVM架构解读,查漏补缺...
  3. 【图像特征提取1】方向梯度直方图HOG---从理论到实践------附带积分图像的解析
  4. 双机热备_涨知识 | 双机热备与备份一体机的联系及区别
  5. mysql不同字符集_如何在mysql中设置不同的字符集
  6. linux中sed或awk,Linux中sed和awk命令比较实例
  7. matlab程序员得浪漫,程序员的浪漫:教你如何用MATLAB向女生表白
  8. python 实现对地图的点击_python实现Pyecharts实现动态地图(Map、Geo)
  9. java面试下_Java面试宝典(下)
  10. mysql硬盘备份_原创-在mysql中把里面的数据库备份到自己的硬盘上