Python实现操作文件的方法教程-创新互联

这篇文章运用简单易懂的例子给大家介绍Python实现操作文件的方法教程,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

10余年的新绛网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销的优势是能够根据用户设备显示端的尺寸不同,自动调整新绛建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“新绛网站设计”,“新绛网站推广”以来,每个客户项目都认真落实执行。

一、文件的概念

在计算机中,文件是以二进制的方式保存在磁盘上的。

文件分为文本文件和二进制文件。

1、文本文件

可以使用文本编辑软件查看,本质上还是二进制文件,例如:python 的源程序。

2、二进制文件

保存的内容不是给人直接阅读的,而是提供给其他软件使用的。例如:图片文件、音频文件、视频文件等等,二进制文件不能使用文本编辑软件查看。

Python 中,对文件的操作有很多种,常见的操作包括创建、删除、修改权限、读取、写入等,这些操作可大致分为以下 2 类:

删除、修改权限:作用于文件本身,属于系统级操作。
写入、读取:是文件最常用的操作,作用于文件的内容,属于应用级操作。

二、文件的基本操作

1、操作文件的步骤

文件的应用级操作可以分为以下 3 步,每一步都需要借助对应的函数实现:

打开文件:使用 open() 函数,该函数会返回一个文件对象;

对已打开文件做读/写操作:读取文件内容可使用 read()、readline() 以及 readlines() 函数;向文件中写入内容,可以使用 write() 函数。

关闭文件:完成对文件的读/写操作之后,最后需要关闭文件,可以使用 close() 函数。

2、打开文件的方式

在 Python 中,如果想要操作文件,首先需要创建或者打开指定的文件,并创建一个文件对象,而这些工作可以通过内置的 open() 函数实现。

语法如下:

  • file = open(file_name [, mode='r' [ , buffering=-1 [ , encoding = None ]]])
  • file:表示要创建的文件对象。
  • file_name:要创建或打开文件的文件名称。
  • mode:用于指定文件的打开模式。默认以只读(r)模式打开文件。
  • buffering:用于指定对文件做读写操作时,是否使用缓冲区。
  • encoding:手动设定打开文件时所使用的编码格式,不同平台的 ecoding 参数值也不同,以 Windows 为例,其默认为 cp936(实际上就是 GBK 编码)。
     

打开文件的常用模式

模式说明
r以只读方式打开文件。文件的指针将会放在文件的开头,这是默认模式。如果文件不存在,抛出异常
w以只写方式打开文件。如果文件存在会被覆盖。如果文件不存在,创建新文件
a以追加方式打开文件。如果该文件已存在,文件指针将会放在文件的结尾。如果文件不存在,创建新文件进行写入
r+以读写方式打开文件。文件的指针将会放在文件的开头。如果文件不存在,抛出异常
w+以读写方式打开文件。如果文件存在会被覆盖。如果文件不存在,创建新文件
a+以读写方式打开文件。如果该文件已存在,文件指针将会放在文件的结尾。如果文件不存在,创建新文件进行写入

文件打开方式

Python实现操作文件的方法教程

open()是否需要缓冲区

通常情况下、建议大家在使用 open() 函数时打开缓冲区,即不需要修改 buffing 参数的值。

如果 buffing 参数的值为 0(或者 False),则表示在打开指定文件时不使用缓冲区;如果 buffing 参数值为大于 1 的整数,该整数用于指定缓冲区的大小(单位是字节);如果 buffing 参数的值为负数,则代表使用默认的缓冲区大小。

目前为止计算机内存的 I/O 速度仍远远高于计算机外设(例如键盘、鼠标、硬盘等)的 I/O 速度,如果不使用缓冲区,则程序在执行 I/O 操作时,内存和外设就必须进行同步读写操作,也就是说,内存必须等待外设输入(输出)一个字节之后,才能再次输出(输入)一个字节。这意味着,内存中的程序大部分时间都处于等待状态。

而如果使用缓冲区,则程序在执行输出操作时,会先将所有数据都输出到缓冲区中,然后继续执行其它操作,缓冲区中的数据会有外设自行读取处理;同样,当程序执行输入操作时,会先等外设将数据读入缓冲区中,无需同外设做同步读写操作。

3、read 方法 —— 读取文件

read 方法可以一次性读入并返回文件的所有内容。

read() 函数的基本语法格式如下:

file.read([size])

其中,file 表示已打开的文件对象;size 作为一个可选参数,用于指定一次最多可读取的字符(字节)个数,如果省略,则默认一次性读取所有内容。

如果忘记关闭文件,会造成系统资源消耗,而且会影响到后续对文件的访问。

注意:read 方法执行后,会把文件指针移动到文件的末尾。

示例:

# 1. 打开 - 文件名需要注意大小写
file = open("README")

# 2. 读取
text = file.read()
print(text)

# 3. 关闭
file.close()

在开发中,通常会先编写打开和关闭的代码,再编写中间针对文件的读/写操作!

4、按行读取文件内容

read 方法默认会把文件的所有内容一次性读取到内存。

如果文件太大,对内存的占用会非常严重。

readline 方法可以一次读取一行内容,包含最后的换行符“\n”。方法执行后,会把文件指针移动到下一行,准备再次读取。

file.readline([size])

其中,file 为打开的文件对象;size 为可选参数,用于指定读取每一行时,一次最多读取的字符(字节)数。

读取大文件的正确姿势

# 打开文件
file = open("README")
while True:
  # 读取一行内容
  text = file.readline()
  # 判断是否读到内容
  if not text:
    break
  # 每读取一行的末尾已经有了一个 `\n`
  print(text, end="")
# 关闭文件
file.close()

名称栏目:Python实现操作文件的方法教程-创新互联
本文来源:http://myzitong.com/article/dsjhgh.html