刚才在写代码的时候,遇到python文件存储的操作,但是当时自学的时候看的一知半解,对于操作不是很熟悉。写下这篇博客,一是为了强化自己的记忆,以便于更好的掌握这个知识;二是防止以后再忘记,留下记录供我以后查看。
Python提供了一系列的操作函数、控件和文件系统对象,利用他们可以实现对文件系统的操作。
Python数据文件操作的一般步骤:
(1)打开或建立文件
(2)访问文件(进行读、写操作)
(3)关闭文件
一、文件的基本操作
1、打开或建立文件
Python中用内建函数open()语句打开或建立一个文件。

file_object = open(file_name, mode='r', buffering=-1)

其中file_name为强制参数,表示文件名;模式(mode)和缓冲(buffering)参数是可选的。
说明:如果open()函数只有file_name一个参数,能获得读取文件内容的文件对象,如果想要写文件,则需要选择某一个模式(mode),下面是open()函数模式参数的常用值表。
TIM截图20190913181710.png
第三个参数buffering控制文件的缓冲,如果参数为0或者False,则I/O无缓冲;如果是1/True,则I/O为有缓冲。大于1的数字代表缓冲区的大小,单位是字节,-1或负数代表使用默认的缓冲区大小。
2、文件的关闭

file.close()

文件的读写操作完成后,使用close()语句进行文件的关闭。(若不关闭文件,会造成数据丢失)
3、另外一种打开文件的操作

with open(file_name, mode='r', buffering=-1) as f:
    pass

这种方式必须要在已有文件的情况下使用,打开之后不必使用close()函数来关闭文件,操作完成后会自动关闭文件,我们在编程过程中,这种方式是我们的常用方式。

二、文件的读写操作
1、文件的读操作
Python的文本文件的内容读取,常用的有三类方法:

  • read()
  • readline()
  • readlines()
    (1)read():一次性读取文件的所有内容放在一个大的字符串中,即存在内存中。
file_object = open('test.txt')
try:
    file_content = file_object.read()    # 将文件的所有内容存在file_content
finally:
    file_object.close()

特点:方便简单,一次性读取文件的所有内容放在一个大字符串中,速度最快,但有时候文件过大,占用内存也会过大。
(2)readline():readline()逐行读取文本。

with open('text.txt') as f:
    line = f.readline()
    while line:
        print(line)
        line = f.readline()

运行截图:TIM截图20190913190537.png
特点:readline()占用内存小,逐行读取,速度较慢。
(3)readlines():一次性读取文本所有内容,结果是一个list,list的内容是每行的文本。

with open('text.txt') as f:
    line = f.readlines()
    print(type(line))
    for i in line:
        print(i)

运行截图:
TIM截图20190913190434.png
特点:readlines()读取的内容,每行文本都会带一个‘n’换行符。速度较快,但是随着文本的增大,占用内存也会越来越多。
三、小结
总的来说,Python的文件操作还是非常简单的,把这几个简单的函数给记住,基本都能够满足我们的需求。

最后修改:2019 年 10 月 06 日
如果觉得我的文章对你有用,请随意赞赏