文件操作

文件操作

    r 只读
    w 写
    a 追加
    w模式  写的时候如果没有文件则会自动创建文件,有的话刚开始写入的时候会清空在写入
    r模式读取一行的时候,在末尾会默认跟一个
(换行符)
(回车)
    只读模式r 正常文本
    rb模式下,可以不指定打开文件的编码,但是在写文件的时候必须将字符串转化为utf-8的bytes数据
    只读rb 字节
    read() 默认全读完 可以指定读几个
    read(n) 读取n个字符,需要注意的是,如果再次读取的时候,那么会在当前位置接着读
    readline 一行一行读
    a 追加  在文本末尾追加
    r+ 读写模式  必须是先读在写 在末尾添加
    w+  写读模式  先将所有的内容清空,然后写入.最后读取.但是读取的内容是空的,不常用
    a+  追加写读 不论先读还是后读 都是读取不到数据的

路径

    相对路径  绝对路径
    相对路径:同一个文件夹下的文件. 相对于当前这个程序所在的文件夹而言. 如果在同一个文件夹中. 则相对路径就是这个文件名. 如果在上一层文件夹. 则要../

    

基本操作

seek(0)移动光标到文件最开头
seek(0,1) 两个参数的时候表示光标在当前位置
seek(0,2)  表示光标在末尾
seek(n)  光标移动到n的位置,注意,移动的单位是bytes,所有如果是UTF-8的中文部分药是3的倍数   
flush  刷新
tell() 查看光标位置
truncate()  截断  将光标后面的删除
    
深坑
在r+模式下,如果读取了内容 .不论读取的内容多少.光标显示的是多少.自爱写入多少或者操作文件的时候都是在结尾进行操作

修改文件

文件修改:只能将文件的内容读取到内存中,将信息修改完毕,然后将源文件删除,将新文件的名字改成老文件的名字
import os
with open('s',mode='r',encoding='utf-8')as f1,
    open ('s_new',mode='w',encoding='utf-8')as f2:
    content=f1.read()
    content_new=content.replace("","")
    f2.write(content_new)
os.remove('s')
os.rename('s_new','s')
  

整行操作

整行操作
import os
with open('s',mode='r',encoding='utf-8')as f1,
    open ('s_new',mode='w',encoding='utf-8')as f2:
    for line in f1:
        new_line=line.replace('','')
        f2.write(new_line)
os.remove('s')
os.rename('s_new','s')
原文地址:https://www.cnblogs.com/z1115230598/p/9877850.html