知行合一
Choose a quality life!

文件的句柄: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模式,也是读模式,多用于打开图片视频之类的,每行字符串的末尾都会用\n换行,开头则是用b开头代表bytes类型,同r模式类似.读时要指定解码类型

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

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

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

              wb模式,也是写模式,多用于打开图片视频之类的,每行字符串的末尾都会用\n换行,开头则是用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("源文件", "新文件名") 重命名文件

 

posted on 2018-07-11 17:36  小米没吃饭  阅读(321)  评论(0编辑  收藏  举报