文件读写

要使用文本中的信息,首先要将内容读取到内存当中,我们可以一次性读取文件的全部内容,也可以逐行读取。

读取整个文件

with open('1.txt') as file_obj:
    neirong = file_obj.read()
    print(neirong)

要使用文件内容,要先打开open()文件,接着读取read()内容到内存中,最后当我们还要关闭close()文件,以免浪费内存。

这时使用关键字with就可以实现文件的自动关闭,Python会在合适的时候自动关闭文件。

open()函数返回一个表示文件的对象,接着我们可以使用read()来读取这个文件内容,并存储在nrirong中。

逐行读取

可以使用for循环逐行读取文件内容。

with open('2.txt') as file_obj:
    for i in file_obj:
    print(i)

一样的,函数open()返回一个表示文件的对象,存储在变量file_obj中,于是我们可以通过遍历文件对象file_obj来逐行读取内容。

创建一个包含文件内容的列表

使用关键字with时,open()返回的对象只可以在with代码块内访问,要想在with代码块外使用,我们需要创建一个包含该文件各行内容的列表

with open('3.txt') as file_obj:
    lines = file_obj.readlines()

for i in lines():
    print(i)

方法readlines(),读取文件中的每一行,并将其存储在列表lines中。

写入文件

要写入文件,需要在调用open()时,传入另外一个实参,告诉Python你要写入打开的文件:

with open('4.txt','w') as file_obj:
    file_obj.write('我在写入文件')

实参'w'告诉Python,我们要以写入模式打开文件,其他的打开模式包括'r'-只读模式'a'-附加模式'r+'-读写模式

如果要写入的文件不存在,Python会自动创建它,当使用'w'写入时,Python会在写入前清空该文件。