文件读取

  • 文件读取可分为以下步骤:

    • 打开文件

    • 读取文件内容

    • 关闭文件

  • 文件打开模式:

    mode

    解释

    r

    只读

    w

    只写,写之前会清空文件的内容,如果文件不存在,则创建新文件

    a

    追加,在原来的内容上追加,如果文件不存在,则创建新文件

    r+

    可读可写

    w+

    打开一个文件用于读写,如果文件已存在则覆盖,如果文件不存在,创建新文件

    a+

    打开一个文件用于读写,如果文件已存在,文件指针会放在文件的末尾,文件打开时会是追加模式,如果不存在则创建新文件用于读写

    b

    rb\wb\ab\rb+\wb+\ab+ 意义和上面意义,用于二进制文件操作 (二进制文件一般用于视频、音频、图片)

  • 读取文件常用函数:

    函数

    解释

    read([size])

    读取文件(读取size字符,默认读取全部)

    readline([size])

    读取一行,如果指定size,将读取指定的字符数

    readlines()

    把文件内容按行全部读入,返回一个包含所有行的列表

  • 示例代码:

f = open('./file.txt',mode='r',encoding='utf-8')

content = f.read(10) # 读取前十个字符
print(content)

f.close()
f = open('./file.txt',mode='r',encoding='utf-8')

content = f.readline(5) # 读取第一行的前 5 个字符
print(content)

f.close()
f = open('./file.txt',mode='r',encoding='utf-8')

content = f.readlines()  #返回一个列表:['hello,python\n', 'hello,nihao\n', 'hello,cj\n']
print(content)

f.close()

  • with 读取文件,自动关闭close():

    with open('./file.txt',mode='r',encoding='utf-8') as f:
        print(f.readlines())
  • 循环读取,防止文件太大出现错误:

    with open('./file.txt',mode='r',encoding='utf-8') as f:
    #     print(f.readlines())

文件写入

with open('./file.txt', mode='w',encoding='utf-8') as f:
    f.write('ni hao2')