玖叶教程网

前端编程开发入门

【python 基础篇 十五】python的文件操作

1.文件介绍

  • 文件:数据存放的容器
  • 文件的作用:持久化的存储数据内容
  • 文件组成:
    • 文件名:如果同级目录下,不允许同名文件存在
    • 扩展名 :一般不同的扩展名,对应着不同的文件格式,不同的文件格式,有着不同的存储约定,方便程序处理。
    • 文件内容:一般分为 文本文件(txt,doc,xls) 二进制文件(图片,视频,音乐)

2.文件的使用流程

  • 打开
    • open("文件",“模式”)
    • 文件:指定文件路径
    • 模式:控制操作模式
      • r 以只读方式打开文件
        • 这个是默认参数 文件的指针将会放在文件的开头
        • 注意:文件不存在,会报错
      • w 以只写方式打开文件
        • 文件的指针将会放在文件的开头,所以,写入心得内容,会覆盖旧的内容
        • 注意:文件不存在,会自动创建一个新文件
      • a 以追加方式(只写)打开文件
        • 文件的指针将会放在文件的结尾,所以,写入的内容,会增加到文件末尾
        • 注意:文件不存在,会自动创建一个新文件
      • 增加b 以为二进制格式进行操作文件读写
        • rb wb ab
        • 如果文件是二进制文件,则选择此项 例如:图片 视频 音频
      • 增加+ 代表都是以“读写模式”进行打开
        • r+ w+ a+ rb+ rw+ ra+
#r 的读操作
#1. 打开文件
#相对路径,相对于哪一个目录下面的指定文件
f = open.("a.txt","r")
#2. 读操作
content = f.read()
print(content)
#3. 关闭文件
f.close()

#w 的写操作
#1. 打开文件
#相对路径,相对于哪一个目录下面的指定文件
f = open.("a.txt","w")
#2. 读操作
f.write("123456")
print(content)
#3. 关闭文件
f.close()

#wb 的写操作
#1. 打开文件
#相对路径,相对于哪一个目录下面的指定文件
toFile = open.("xx.jpg","wb")
#2. 读操作
content = fromContent[0:len(fromContent)//2] 
toFile.write(content)
#3. 关闭文件
toFile.close()
  • 读写
    • 定位
      • f.seek(偏移量,[0,1,2])
        • [0,1,2]
          • 0 代表开头 也是默认
          • 1 代表当前位置
          • 2 代表文件末尾
          • 注意:文本文件的操作模式下(不带b),只能写0 。如果想要写1或者2,必须在二进制文件操作模式下(带b)
      • f.tell( ) 输出文件指针在哪里
      • f.read(字节数) 从当前文件指针的位置一直读到最后
        • 字节数:代表读取文件内容长度。默认是文件全部内容
        • 下标会自动后移
      • f.readline([limit]) 读取一行数据
        • limit 限制的最大字节数,最长读取内容
      • f.readlines()
        • 会自动的将文字按换行符进行处理,将处理好的每一行组成一个列表返回
      • for in
        • 可以直接遍历f本身
        • 也可以遍历行列表
      • 判断是否可读
        • f.readable() 判断文件是否可读
      • 注意
        • 一般文件特别大的时候,可以使用readline方法。按行加载,可节省内存,但相比于其他两个读取方法,性能较低
        • read和readline([limit]),一次性读取文件索引内容,占用内存,处理性能高
      • f.write("内容")
        • 返回值是写入的字节长度
      • f.writeable()
        • 判断是否可写入
#定位案例
#1. 打开文件
f = open.("a.txt","r") #a.txt的内容是 123456789
#2. 读操作
print(f.tell())#输出 0
f.seek(2)
print(f.tell())#输出 2
print(f.read())#输出时 3456789
print(f.tell())#输出 
#3. 关闭文件
f.close()

#for in案例 
#方式一
f = open.("a.txt","r") 
#a.txt的内容是 
#1
#2
#3
for i in f:
    print(i,end="")
#1
#2
#3
f.close()
#方式二
f = open.("a.txt","r") 
content = f.readlines()
for i in content:
    print(i,end="")
f.close()
  • 关闭
    • f.close()
      • 关闭一个打开的文件
      • 关闭的原因
        • 可以释放系统资源
        • 会立即清空缓冲区的数据内容到磁盘空间
    • f.flush()
      • 立即清空缓存区的数据内容到磁盘空间

3.文件的相关操作

  • 模块 import OS
  • 操作
    • 重命名
      • os.rename("原文件名/原文件夹名",“目标文件名/目标文件夹名”)
        • 修改文件夹或者文件名称
      • os.renames(“ 路径 ”,“路径”)
        • 修改嵌套的文件或者文件夹
    • #重命名
      import os
      os.rename("a.txt","b.txt")#把文件a.txt重命名为b.txt
      os.rename("first","onr")#把文件夹first重名名为one
      os.renames("one/one.txt","first/first.txt")#把one文件夹和one文件夹下的one文件,修改为first文件夹和first文件夹下的first.txt文件
    • 删除
      • 删除文件
        • os.remove("文件路径")
      • 文件不存在就会报错
      • 删除目录
      • os.removedirs(path)
        • path 文件路径
      • 可以递归的删除目录,如果文件夹非空,会报错
  • 创建文件夹
    • os.mkdir(“文件夹名称”,[mode])
    • 不能递归创建,如果文件夹存在就会报错
    • mode 数字模式权限
    • 获取当前目录
      • os.getcwd()
    • 改变默认目录
      • os.chdir("目标目录")
    • 获取目录内容列表
      • os.listdir(“./”)
      • os.listdir(“文件夹名”) 输出一个列表 列表内为文件名

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言