zoukankan      html  css  js  c++  java
  • 文件操作

    文件操作

        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')
  • 相关阅读:
    小酌一下:pipenv 基本用法
    sql2008使用您对无法重新创建的表进行了更改或者启用了“阻止保存重新创建表的更改”
    Join操作基本:外连接、自然连接、内连接
    用dataReader获取datetime类型完整精度的时间字串
    c# MesageBox
    判断当前时间是否在一个时间段内
    c# 根据当前时间获取,本周,本月,本季度,月初,月末,各个时间段
    sql Convert函数
    c# MD5方法总结
    wml跳转
  • 原文地址:https://www.cnblogs.com/z1115230598/p/9877850.html
Copyright © 2011-2022 走看看