一、文件读写

1、打开文件

函数:open(name[. mode[. buffering]])

参数:

  • name:必须;文件的文件名(全路径或执行文件的相对路径。))
  • mode:可选;对文件的读写模式,默认是读模式。
  • buffering:可选;默认无缓冲区。

返回:一个文件对象

实例:

  • fileObject = open(r'c:\123.txt'),注意小写的字母‘r’,表示字符串是字符本身,没有转义等特殊含义。
  • fileObject = open('c:\\123.txt'),反斜杠两个表示一个‘\’。

2、文件模式

mode参数:

  • ‘r’:读模式
  • ‘w’:写模式
  • ‘a’:追加模式
  • ‘b’:二进制模式(可添加到其他模式中使用)
  • ‘+’:读/写模式(可添加到其他模式中使用)

‘r’,只读。

‘w’,写,原内容被替换。

‘a’,在原内容后追加内容。

‘b’,对文本一般用不上,但处理其他类型的文件(二进制的),例如:MP3,图片;‘rb’:读取二进制。

3、文件缓冲区

buffering参数:

  • 0:无缓冲区
  • 1:有缓冲区,有换行符就把内存的中的数据写到文件
  • 大于1的数字:缓冲区的大小;超过缓冲区了就把内存数据写到文件
  • -1:默认缓冲区大小

无缓冲,直接将数据写到硬盘上。

有缓冲,数据先写到内存里,只有使用flush函数或者close函数才会将数据更新到硬盘。

4、文件读取

文件读取分为按字节读取和按行读取。

常用函数:

  • read():
  • readline()
  • close()

file = open('c:\\123.txt')

#读取文件全部内容到内存

file.read() #返回str类型的对象,可以传参数,一个正整数,代表读取一次最多读取的字节数

#读取文件的一行数据

file.readline()

for line in file.readline():

print(line.strip())

#关闭会文件的引用

file.close()#文件对象会占用操作系统资源,影响系统的IO操作;文件使用完毕后必须关闭。

保证程序的健壮性,使用try...finally实现文件读/写

try:
file = open('c:\\123.txt')
print(file.read())
finally:
if file:
file.close()
#第二种写法
with open('c:\\123.txt') as file:
print(file.read())

5、文件写入

读取文件时需要对mode参数传参,‘w’或‘wb’

使用‘wb’参数值,文本文件按二进制读写,如果有缓存,write函数写到内存,如果没有缓存,写到文件。

flush函数把内存中的数据写到文件。close函数把内存中的所有数据写到文件。

写文件也需要使用try...finally 或者with语句编写代码。

python-IO编程,文件读写的更多相关文章

  1. Python之IO编程——文件读写、StringIO/BytesIO、操作文件和目录、序列化

    IO编程 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口.从 ...

  2. 【Python】[IO编程]文件读写,StringIO和BytesIO,操作文件和目录,序列化

    IO在计算机中指Input/Output,也就是输入和输出. 1.文件读写,1,读文件[使用Python内置函数,open,传入文件名标示符] >>> f = open('/User ...

  3. Python学习(九)IO 编程 —— 文件读写

    Python 文件读写 Python内置了读写文件的函数,用法和C是兼容的.本节介绍内容大致有:文件的打开/关闭.文件对象.文件的读写等. 本章节仅示例介绍 TXT 类型文档的读写,也就是最基础的文件 ...

  4. python基础之文件读写

    python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...

  5. 第二篇:python基础之文件读写

    python基础之文件读写   python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使 ...

  6. Python 基本语法,文件读写,数据结构和类型

    Python 基本语法,文件读写,数据结构和类型 1.基本语法 解释型(无需编译).交互式.面向对象.跨平台.简单好用 中文编码:http://www.cnblogs.com/huxi/archive ...

  7. Python程序设计7——文件读写

    1 文件读写简介 文件读写是应用程序中的常用操作.下面介绍Python中进行文件读写.Python的文件读写是非常简单的. 1.1 open函数 open函数一般有了两个必须参数,一个是文件名参数,另 ...

  8. 【python系统学习17】python中的文件读写

    python中的文件读写 文件读写,是Python代码调用电脑文件的主要功能,能被用于读取和写入文本.音频片段.Excel文档.邮件以及任何保存在电脑上的东西. 可使用python批量的操作本地文件, ...

  9. Python IO编程-读写文件

    1.1给出规格化得地址字符串,这些字符串是经过转义的能直接在代码里使用的字符串 需要导入os模块 import os >>>os.path.join('user','bin','sp ...

  10. 06 . Python3入门之IO编程(文件操作)

    IO编程简介 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口 ...

随机推荐

  1. oracle的知识点总结

    体系结构:数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制.体系结构包括:实例(instence),数据库文件(database),用户进程(user proces ...

  2. hadoop伪分布式搭建

    安装好jdk 减压hadoop压缩包 cd /home/hadoop/hadoop-2.7.3/etc/hadoop vi hadoop-env.sh 文件末尾处添加 jdk环境变量 export J ...

  3. Consider defining a bean named 'entityManagerFactory' in your configuration解决办法

    错误信息: *************************** APPLICATION FAILED TO START *************************** Descriptio ...

  4. react-native 常用的一些插件

    react-native 常用的一些插件 最近在做react-native的app,用到的一些好用的插件,在这儿记录一下 由于返回的后台内容是富文本编辑器Quill,返回的的是Delta对象,使用了q ...

  5. Validator验证框架

    Validator验证框架 系统分析 在设计Validator验证框架时,需要明确以下问题. (1)当用户没有输入数据时,弹出英文提示信息. (2)当用户输入的数据长度大于系统设置的数据长度,弹出英文 ...

  6. Python3.x在linux下print中文问题

    由于python3内部以Unicode实现,在默认非utf-8的Linux上print中文会报错UnicodeEncodeError. 由于系统默认非unicode,python3又以unicode实 ...

  7. Fragment中TabLayout加FragmentViewPager

    让tablayout中的Tab平铺:在tablayout布局中写: app:tabMaxWidth="0dp"app:tabGravity="fill"app: ...

  8. Spring Cloud 微服务架构全链路实践

    阅读目录: 1. 网关请求流程 2. Eureka 服务治理 3. Config 配置中心 4. Hystrix 监控 5. 服务调用链路 6. ELK 日志链路 7. 统一格式返回 Java 微服务 ...

  9. 动态规划----最长递增子序列问题(LIS)

    题目: 输出最长递增子序列的长度,如输入 4 2 3 1 5 6,输出 4 (因为 2 3 5 6组成了最长递增子序列). 暴力破解法:这种方法很简单,两层for循环搞定,时间复杂度是O(N2). 动 ...

  10. [Swift]LeetCode165. 比较版本号 | Compare Version Numbers

    Compare two version numbers version1 and version2.If version1 > version2 return 1; if version1 &l ...