特性:python只能以一种模式操作文件,默认为只读模式。


    r read

    1. f = open(file='/Users/harris/PycharmProjects/pythonProject/练习/date.txt',mode='r')
    2. print(f.readline()) #只读首行
    3. print('-----------------------------------')
    4. print(f.read()) #f.read()读取所有,或者.read(读取多少字符数量)
    5. py操作文件
    6. -----------------------------------
    7. 追加

    w write 创建模式,会覆盖掉同名文件

    1. f = open(file='/Users/harris/PycharmProjects/pythonProject/练习/date.txt',mode='w')
    2. f.write('harris 18 老师\n')
    3. f.write('uzi 20 职业选手\n')
    4. f.close() #操作完成后需要关闭

    image.png

    a append 追加 追加也是使用.write方法,只不过需要切换追加模式

    1. f = open(file='/Users/harris/PycharmProjects/pythonProject/练习/date.txt',mode='a')
    2. f.write('jack 18 学生\n')
    3. f.close()

    image.png
    循环文件

    1. f = open(file='/Users/harris/PycharmProjects/pythonProject/练习/date.txt',mode='r')
    2. for i in f:
    3. print(i)
    4. #执行效果
    5. harris 18 老师
    6. uzi 20 职业选手
    7. jack 18 学生

    其他方法:
    .seek 指定开始读的位置 (按字节读)utf-8最少指定3个字符,gbk 至少4个。
    .flush 强制内存里的数据刷新到硬盘
    readable 判断文件是否可读
    seekable 判断文件能否seek
    tell 判断光标位置
    truncate 文件截断(按字节)指定值从文件头开始截,指定值从光标坐在位置开始截。
    writeable 判断文件是否能写入
    writelines 把列表写入文件,每个元素占1行

    混合模式
    w+ 写读模式,创建一个新文件,写一段内容,可以再读出来
    r+ 读写模式,能读能写,但是只能写在文件最后,跟追加一样,默认光标在文件头。
    a+ 追加读,文件一打开时光标会在尾部,写的数据全会是追加的形式,光标移至在末尾。

    修改文件
    使用r+模式,光标定位到要修改的地方写入即可。

    不占内存修改修改文件:
    读取旧文件修改并保存到新文件