zoukankan      html  css  js  c++  java
  • 文件的打开方式

    文件的句柄:f = open("file/wuse", mode="r", encoding="utf-8")

    open命令里分三部分,文件路径,文件模式,编码格式

    (1):相对路径,相对于你当前程序所在的文件夹    ../表示返回上一层目录,一般做项目都用这个

         绝对路径一是从磁盘根目录寻找,二是互联网上的一个绝对路径

    (2)文本文件的打开模式:    t模下式,换行符占两个byte,seek给值时候要注意的

         1:   r模式,也是rt模式,打开不存在文件时会报错,存在正常打开

                        f.read()    读取整个文件,光标在末尾                                    f.flush          刷新

                        f.readline()   一行一行读取文件,光标在本行末尾,                  f.close         关闭文件,也是关闭句柄

                        f.readlines()   读取多行,光标在最后一行末尾.不推荐使用       for i in  readlines    一行一行读取,不存在内存满溢的情况   

                    rb模式,也是读模式,多用于打开图片视频之类的,每行字符串的末尾都会用 换行,开头则是用b开头代表bytes类型,同r模式类似.读时要指定解码类型

         2:  w模式,也是wt模式.打开不存在文件时会自动创建该文件,存在时则清空原文件

                       f.write     一次可以写一行的字符串

                       f.writelines     可以将多行的内容一次写出来            要注意是换行符,加在每行字符串的结尾     是文件的制表符一般加在首行之前,相当于一个TAB的缩进 a.strip()可以取消空格

                  wb模式,也是写模式,多用于打开图片视频之类的,每行字符串的末尾都会用 换行,开头则是用b开头代表bytes类型,同r模式类似.读时要指定遍码类型

         3: a模式      也是追写模式.打开文件,光标会出现在字符串的末尾,文件不存在时则创建,常用语编写日志文件

         4: r+模式     也是读写模式,必须是先读. 因为默认光标是在开头的. 准备读取的. 当读完了之后再进行写入.使用频率高

                            深坑请注意: 在r+模式下. 如果读取了了内容. 不论读取内容多少. 光标显示的是多少. 再写入 或者操作文件的时候都是在结尾进行的操作     

                   w+模式     也是写读模式,一开始读取不到数据,写完之后才能读取 

         5:with open("吃的", mode="r", encoding="utf-8") as f1    不用写f1.close()

         6: seek(n) 光标移动到n位置, 注意, 移动的单位是byte. 所以如果是UTF-8的中文部分要是3的倍数.  通常我们使用seek都是移动到开头或者结尾.

             移动到开头: f.seek(0)

             移动到结尾: f.seek(0,2) seek的第二个参数表示的是从哪个位置进行偏移, 默认是0, 表示开头, 1表示当前位置, 2表示结尾

             print(f.tell())             读取光标的位置

             print(f.readable())     判断文件是否可读                                print(f.writable())       是否可写入

              f.truncate()            不给参数. 从文件头.截取到当前位置       f.truncate(15)      给了参数. 从文件头截取到你给这个参数的位置,注意参数是以byte为单位的

        7:  文件修改                

    创建新文件. 把修改后的内容写入新文件. 删除老文件. 重命名新文件
    import os
    os.remove("")删除文件
    os.rename("源文件", "新文件名") 重命名文件

  • 相关阅读:
    C# SuperWebSocket服务端学习(二)
    C# SuperSocket服务端入门(一)
    C# SuperWebSocket服务端、客户端学习(三)
    皮尔逊相关系数和余弦相似性的关系
    各种定向方式的对比-有图
    查看Linux的CPU信息,核数等
    临时表空间
    优化临时表使用,SQL语句性能提升100倍
    Java中线程池的学习
    android面试题之六
  • 原文地址:https://www.cnblogs.com/laogao123/p/9295799.html
Copyright © 2011-2022 走看看