python文件写入操作的三大步骤,open()函数、write()函数和close()

python文件的读写操作,在一般的web应用当中可能比较少遇到,用python开发pc软件要是不涉及文件的创建、保存之类的也比较少遇到(软件日志的读写倒是会有的),但是在大数据、机器学习、人工智能等领域,读写文件以读取数据是必不可少的操作过程,至关重要。


文件读写是什么意思

什么是文件的读写操作。举个例子,我们打开一个word文件,记录了一段话,比如“大器编程真的是学习python全栈的好网站”,然后将文件保存。这个过程中,就涉及到了文件的读写。其中,步骤如下:

  • 以可编辑或只读或其他的模式打开文件;
  • 将文件中的内容读取到文件(或者说是内存当中),以展示
  • 在保存文件的过程中,将内存中的内容(我们编辑记录在文件中的文字)写入到文件当中,以保存;

python文件写入操作的三大基本步骤和函数

python文件的读写一般分为三个步骤:

  • 打开文件;
  • 操作(读或写)文件
  • 关闭文件;

python打开文件的函数open()

open()用来打开文件,返回一个file对象,语法如下:

f = open(filepath, mode);其中filepath 为文件的保存路径,为字符串,mode为文件打开的模式,如只读或读写等

open()函数实例
f = open('/python/bigdata.txt', 'w')
代码解析

如上代码,我们打开了一个保存在相对路径为/python/bigdata.txt的文件,并以‘w’只写的方式打开,并将返回的一个file对象赋值给变量f——方便文件的操作。


文件操作write()函数

python的文件读写操作中,写入的函数主要就是write()。

write()函数实例

在上一个实例当中,我们是用'w'只写的形式打开文件的,所以这里我们就可以用write()函数来操作这个文件。

注意:当用'w'打开的文件不存在,那么python为自动根据open()函数的filepath参数创建一个文件。

f.write('x1y1z1.com,大器编程!\n璞玉天成,大器晚成!')
代码解析

如上代码,我们根据文件对象调用write()函数,可以直接将write()里头的参数(内容)写入文件对象。其中“\n”为分行符号,相当于回车键。

关闭文件的函数close()

在python当中,文件打开之后,一定要记得关闭,一定要在末尾跟个close(),避免文件泄露或破坏等问题,使用方法如下:。

f.close()

关闭打开的文件之后,我们可以根据文件保存的路径filepath,找到bigdata.txt的文件,打开,看看里面是不是有两行我们之前写入的文字。

以上三个步骤就是python文件的写入基本操作,下面我们将更进一步,介绍python文件写入的另一种更常用的也是更方便的方法,和写入的编码模式。


with语句

使用with语句,我们就不需要再写上close()语句了,可以很好地避免忘记写close()语句而引发的程序错误,代码如下:

with open('test.txt', 'w' ) as f:
    f.write('x1y1z1.com,大器编程。\n璞玉天成,大器晚成!')

如果想同时打开多个文件,也可以用with语句:

with open('test1.txt', 'w' ) as f1, open('test2.txt', 'w') as f2:
    f1.write('x1y1z1.com,大器编程。\n璞玉天成,大器晚成!')
    f2.write('do something')
with语句代码解析

如上代码,其中as如同赋值,就是将open()的返回值文件对象赋值给一个变量。程序运行完之后,大家可以打开文件看一看,效果是不是跟前面介绍的那三个步骤一样!


python文件读写的编码问题

文件的保存编码格式多种,就拿txt文件来说吧,如果使用的是win7系统,可以用默认的方式创建一个.txt的文件,然后打开,随便编辑几个文字,点击另存为,在弹出的对话框中,在“保存键”的左边,会有一个编码,其默认格式是ANSI,点击下来菜单,会发现还有三种编码格式,分别是“Unicode、Unicode big endian”和“UTF-8”,而实际上,编码格式还有很多,比如GBK、ASCII、GB2312等等,在中文的环境当中,通常情况下使用UTF-8的编码,当然,具体的要视情况而定,如果编码格式不匹配,程序的读写操作会发生错误。其代码格式如下:

f = open('test.txt', 'w', encoding='utf-8')
#或
with open('test.txt', 'w', encoding='utf-8')  as f:
    f.write('do something')

python文件的写入基本操作方法就先介绍到这里,下一章节我们将继续介绍python的读取操作,这在大数据、机器学习、人工智能当中至关重要,想想,在用算法处理数据之前,我们是不是要获取数据,而获取数据,我们就需要读取数据。


全栈后端 / python教程 :


























Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.