• 文件操作的函数
    • 文件可迭代
    • open(文件名(路径), mode="?", encoding="字符集")
  •  1 f = open("../Python/是缘.txt",mode = "r",encoding = "utf-8")
     2 l = f.read()
     3 print(l)
     4 
     5 结果:
     6 芸芸众生本不识,
     7 茫茫人海彼此执.
     8 爱恨情仇结缘事,
     9 不枉当年一梦痴.
    10 2018muxw

     

    • 路径分为绝对路径和相对路径
      • 绝对路径:从磁盘根目录一直到文件名或者从互联网寻找一个路径
      • 相对路径(比较常用):同一个文件夹下的文件,相对与当前这个程序所在的文件夹而言.如果在同一个文件夹中,则相对路径就是这个文件名,如果在上一层文件夹,则要用../返回上一路径
  • 操作模式:
    • r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b
    • 比较重要的(r,w,a,r+,rb,wb,ab)比较少用的(r+b,w+b,a+b)
      • r readline().strip可以一行一行读取
      • w 写文件(带w的,只要你操作了,就会清空源文件,如果文件不存在,会自动创建)
      • a(追加)写的时候,换行需要手动控制
      • r+(读写模式)不论你读取多少内容,光标在哪,写入的时候都是在结尾写入(除非一上来就写入,会在开头)
      • b
      • rb,wb,ab都是处理非文本文件,这些在操作的时候是不能选择encoding的
      • a+追加读写,是在末尾写入
      • w+(很少用,因为会清空内容)先清空再写入
  • 常用的操作
    • 光标(seek)*可以移动光标
      • seek()是按照字节,read()是按照字符
      • seek可进行的操作seek(偏移量,位置)
      • seek(0) 开头
      • seek(0,2) 结尾
    • tell() 光标的位置, 可以使我们看到光标在什么位置
    • truncate( )截断文件, 默认从文件开头截断到光标位置, 如果给参数, 从头截断到参数.
  • 修改文件*
    • 使用with方式打开文件,好处就是不需要做关闭文件的操作.
      • 1. 引入os模块
      • 2. 打开目标文件, r
      • 3. 打开文件副本, w
      • 4. 从r中读取内容进行修改. 写入到副本中
      • 5. 删除源文件
      • 6. 重命名副本
    • 1 import os
      2 with open("波多", mode = "r", encoding = "utf-8") as f1,\ 
      3        open("波多_副本", mode = "w", encoding = "utf-8") as f2:
      4       for line in f1:
      5            new_line = line.replace("什么多", "波多野结衣当然是波多")        
      6            f2.write(new_line) 
      7 os.remove("波多")    # 删除源文件
      8 os.rename("波多_副本", "波多")     # 重命名新文件            

       

posted on 2018-08-07 18:00  Mix*  阅读(82)  评论(0编辑  收藏  举报