Python 文件读写

Python内置了读写文件的函数,用法和C是兼容的。本节介绍内容大致有:文件的打开/关闭、文件对象、文件的读写等。

本章节仅示例介绍 TXT 类型文档的读写,也就是最基础的文件读写,也需要注意编码问题;其他文件的读写及编码相关详见专题的博文。

open() close() with open(...) as ...

看以下示例就能了解 Python 的 open() 及 close() 函数。这边调用 read()方法可以一次读取文件的全部内容,Python把内容读到内存,用一个str对象表示,具体使用参见下文。

在 E 盘 python_file 文件夹下新建一 a.txt,输入随意,如下:

Python 操作 打开及关闭方式 如下:

注意 open() 之后 一定要 close()。但由于文件读写时都可能产生IOError,为了保证无论是否出错都能正确地关闭文件,我们用 try ... finally 来实现:

python 简化了改写法,即用 with open(...) as ... ; 建议之后文件读写都用该写法:

上面,你肯定注意到了参数 "r";该参数决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。模式描述

r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。

r+打开一个文件用于读写。文件指针将会放在文件的开头。

rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。

w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

wb以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

wb+以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

File 对象

file 为一对象,它有一些内置属性,如下

文件对象属性描 述file.closed表示文件已经被关闭,否则为False

file.modeAccess文件打开时使用的访问模式

file.encoding文件所使用的编码

file.name文件名

file.newlines未读取到行分隔符时为None,只有一种行分隔符时为一个字符串,当文件有多种类型的行结束符时,则为一个包含所有当前所遇到的行结束的列表

file.softspace为0表示在输出一数据后,要加上一个空格符,1表示不加。这个属性一般程序员用不着,由程序内部使用

read() read(size) readline() readlines()

之前的例子已经接触到了 read() 函数,该函数会会一次性读取文件的全部内容,如果能确保文件的大小,自然可以。但若文件过大,内存就爆了,所以,可以反复调用read(size)方法,每次最多读取size个字节的内容;也可调用 readline() 每次读取一行内容;而调用readlines()可以一次读取所有内容并按行返回list。总之,根据需求来。仅以 txt 文件为例,其他的文件读取需要特殊处理;另外,文件的格式编码方式也需要注意;这边仅介绍读取方法,其他的会出专题来学习。

在D:\python_file 下新建 poet.txt;示例如下,由于一个中文会占多个字节,故read(size) 部分会乱码,如:

write()

写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符'w'或者'wb'表示写文本文件或写二进制文件;'a' 对应的表示追加等。

如下示例,由于 write.txt 文件不存在,创建该文件并写入:

在上例基础上,继续,该文件被重写:

继续,这次使用追加,会在文件结尾追加:

python 边读边写文件_Python 文件读写相关推荐

  1. python 读取asc文件_Python——文件读取与写入

    打开方式 指针位置 读取的文件类型 r 只读(默认模式) 指针在文件开头,文件不存在则报错 1. 默认读取文件都是ASCII编码的文本文件 2. 如果读取的文件是二进制文件,如图片,视频需要使用'rb ...

  2. php打开文件读和写,PHP实现文件的读和写功能

    PHP实现文件的读和写功能 进行文件的读和写,先打开一个文件,然后开始读或者写文件,最后再关系这个文件资源. 如,文件的读操作: $file = fopen('your file path','r') ...

  3. 开头th_是什么文件_Python文件读写最详细的讲解

    本文来自公众号:可乐的数据分析之路 今天这篇文章来详细讲解一下Python中的文件读写. 1.文件读写的流程 1)类比windows中手动操作txt文档,说明python中如何操作txt文件? ① w ...

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

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

  5. python槽格式里填啥_python 文件读与写详解

    importsys,time '''#文件句柄f = open("yesterday2",'a',encoding="utf-8")#'r'=read,'w'= ...

  6. Python实现读、写、改Excel文件的常见方式及其应用场景对比

    Excel表格类型 当前,Excel文件主要有如下两种格式: .xls格式,主要应用于Excel 2003及以下版本. .xlsx格式,主要应用于Excel 2007及以上版本. 读取Excel xl ...

  7. python多进程读同一个文件_python 多进程读写文件

    import time from multiprocessing import Process, JoinableQueue, cpu_count import csv ####处理一条数据的方法 d ...

  8. python能以文本和二进制方式处理文件_Python文件处理之文件写入方式与写缓存(三)...

    Python的open的写入方式有: write(str):将str写入文件 writelines(sequence of strings):写多行到文件,参数为可迭代对象 首先来看下writelin ...

  9. python的写操作_Python—文件读写操作

    初识文件操作 使用open()函数打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了,根据打开文件的方式不同能够执行的操作也会有相应的差异. 打开文件的方式: r, w, a, ...

最新文章

  1. 小程序音频播放报10001 解决方案 errCode:10001, errMsg:errCode:602,err:error,not found param
  2. layui ajax流加载,layui中流加载layui.flow
  3. bzoj 2160: 拉拉队排练
  4. linux文件操作命令--转
  5. matlab 范德蒙德矩阵,Matlab中fft与fwelch有什么区别?如何用fft求功率谱?
  6. 电量模块MODBUS RTU寄存器解读
  7. 猫:君主般的眼神 监视领地。 狗
  8. 实现ABP中Person类的权限功能
  9. 阿里技术专家:进击的 Java ,云原生时代的蜕变
  10. js进阶 11-8 jquery如何获取元素相对于父元素的位置
  11. 中小型研发团队架构实践:应用监控怎么做?
  12. ccflow 驰骋工作流引擎的共享任务,应用背景,设置,设计,sdk接口
  13. autohotkey -- AHK 替换 4 为 $ 方便脚本编写
  14. 制作效果远超CHM的帮助文档制作软件,速看!
  15. windows powershell快捷键
  16. java代码桥梁收费站_高速公路收费站演讲稿(精简版).doc
  17. 相机标定matlab版本,相机标定 matlab
  18. LeetCode 1128.等价多米诺骨牌
  19. js插件---弹出层sweetalert2
  20. RK3399 Android7.1 ACOVP导致系统死机

热门文章

  1. Windows 7的77条小知识
  2. ireport报表中插入图片
  3. AVPlayer自定制视频播放器(2)——耳机线控、中断以及AVAudioSession的使用
  4. Top K问题(3种解法)
  5. SpringBoot如何集成MQTT消息推送
  6. 5.1.0-Reaper 效果器插入与发送以及自动化控制
  7. eclipse中maven项目svn重新定位(Relocate)
  8. 把iphonebenchmark获取的数据存入MySQL数据库
  9. QQ宠物养成秘籍经济实惠篇
  10. 前缀表达式转换为中缀表达式(lisp实现)