一、文件读写

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. C++ 初步

    c++新特性: 1. 初始化方法: 复制初始化 int x=1024; 直接初始化 int x (1024); 2.变量随用随定义 3.增加bool数据类型 输入输出: cout<<x; ...

  2. node03

    1.express处理post请求 借助body-parse中间件,其实最终我们也不会使用这个 对于get请求,无需中间件,用req.query即可返回相应的数据 但是post我们尝试借助中间件处理 ...

  3. Linux一键安装宝塔控制面板

    Linux一键安装宝塔的命令行 yum install -y wget && wget -O install.sh http://download.bt.cn/install/inst ...

  4. linux 使用sh@d0ws0cks client

    Linux Centos7下安装使用Shadowsocks客户端,实现*** 准备 SS: 搭建一个可以连接外网的服务器 教程可见 自己动手搭梯子 服务器:本人用的腾讯云服务器,系统为Centos7 ...

  5. Docker的基本概念

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  6. NET Core微服务之路:基于Ocelot的API网关Relay实现--RPC篇

    前言 我们都知道,API网关是工作在应用层上网关程序,为何要这样设计呢,而不是将网关程序直接工作在传输层.或者网络层等等更底层的环境呢?让我们先来简单的了解一下TCP/IP的五层模型.     (图片 ...

  7. FFmpeg开发实战(五):FFmpeg 抽取音视频的视频数据

    如何使用FFmpeg抽取音视频的视频数据,代码如下: // FFmpegTest.cpp : 此文件包含 "main" 函数.程序执行将在此处开始并结束. // #include ...

  8. [Swift]LeetCode9. 回文数 | Palindrome Number

    Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same back ...

  9. awk小例子_1_逆序排列

    seq 3 | awk '{ lifo[NR]=$0 } END{ for(lno=NR;lno>-1;lno--){ print lifo[lno]; } }' 结果:3 2 1 空行(lno ...

  10. git push每次提交都要输入用户名的解决方案

    前言 最近把代码从csdn转移到gitee后,每一次git push都需要输入用户名和密码,比较麻烦,那有没有一个办法可以去掉这个步骤呢? 原因 每次都需要输入用户名和密码是因为你采用的是https方 ...