python中的文件处理模块

4种读法:如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便:
# read():将文件中内容全部取出来
# read(size):读取size个字节的内容
# readline() :读取一行数据   ★主要使用这个方法, 有效的避免出现内存峰值
# readlines():读取所有的行,每行内容作为一个元素

一、文件的读

# read() ,文件读取全部内容

with open('123.txt', encoding='utf-8') as f:
    content = f.read()
    print(content)

# read(size),每次读取size大小的内容

with open('123.txt', encoding='utf-8') as f:
    content = f.read(3)
    print(content, end='')

# readline(),读取一行数据

with open('123.txt', encoding='utf-8') as f:
    content = f.readline()
    print(content, end='')  # print默认具有换行能力,可以设置end=''取消换行
    content = f.readline()
    print(content, end='')
    content = f.readline()
    print(content, end='')

# readlines(), 读取所有的行,每行内容作为一个元素保存在列表中

with open('456.txt') as f:
    list_temp = f.readlines()
    for line in list_temp:
        print(line.strip())  # 把末尾的'\n'删掉
    print(list_temp)

二、文件写

w:

 w : 
    1> 只能写;
    2> 文件不存在新建;
    3> 存在会清空原内容,然后写入新内容;
    4> 同一个文件对象多次写入时追加写入,不会覆盖;
    5> 此方法写入的同时,还会返回此次写入的字符数;
with open('123.txt', 'w') as f:
    n1 = f.write('cads')
    n2 = f.write('Oriya')
print(n1, n2)

a

a : 
    只能写;
    文件不存在新建;   
    存在会追加内容;

r+

r+ 读写模式: 
    1> 能写,打开不存在的文件会报错
    2> 存在会覆盖原内容,新写入多少字符,就会覆盖多少原文本多少字符,指针就停留在新写入内容后,此时读取会把指针后的内容读出来显示
    3> 在同一个文件对象多次写入时不会覆盖写,会追加写入;
    4> 此方法写入的同时,还会返回此次写入的字符数;

W+

w+ :     
    1> 写读
    2> ⽂件存在则先清空内容
    3> ⽂件不存在,创建新⽂件
str1 = "Hello, everyone. I'm a python programmer "
str2 = "If哈哈ffams"
with open("1.txt", "w+", encoding='utf-8') as file:
    file.write(str1)
    file.write(str2)
    file.seek(0)
    content = file.read()
    print(content)

a+

a+ :      
    1> ⽤于读写
    2> ⽂件存在, 追加内容
    3> ⽂件不存在,创建新⽂件
f = open('3.txt', 'a+')
f.seek(0)       # seek只对读有效
res = f.write('sssssss')
f.seek(0)
res1 = f.read()
print(res1, end='')

注意事项:

#  对图片、音频等非文本文件 读写 需要使用 rb wb ab
#     rb      ⼆进制格式的只读操作。后续⽹络课程中具体讲解。
#     wb      ⼆进制格式的只写操作。后续⽹络课程中具体讲解。
#     ab      ⼆进制格式的追加操作。后续⽹络课程中具体讲解

 

posted on 2023-03-13 20:40  一先生94  阅读(30)  评论(0编辑  收藏  举报

导航