文件操作

Posted wsdr95-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件操作相关的知识,希望对你有一定的参考价值。

目录管理(os)

  • 示例
    import os
    #执行系统命令
    #清屏
    os.system(cls)
    #调出计算器
    os.system(clac)
    #查看操作系统类型
    #nt:表示Windows,posix:表示类unix
    # print(os.name)
  • 查看当前工作目录
    import os
    
    #查看当前工作目录
    print(os.getcwd())
  • 创建目录:mkdir
    #新建目录
    # os.mkdir(‘test‘)
    #不能创建中间目录
    os.mkdir(a/b/c)
  • 创建目录:makedirs
    #新建目录
    # os.mkdir(‘test‘)
    #不能创建中间目录
    os.mkdir(a/b/c)
  • 删除目录:rmdir
    #删除目录,只能删除空目录
    # os.rmdir(‘test‘)
    #不能删除非空目录
    os.rmdir(a/b/c)
  • 重命名:rename
    #重命名:目录文件都可以,不存在会报错
    # os.rename(‘a‘,‘aa‘)
    # os.rename(‘test.py‘,‘t.py‘)

     

  • 查看文件信息:stat
    #查看文件信息:可以是目录
    # print(os.stat(‘t.py‘))

     

  • 查看目录文件信息:listdir
    #查看目录文件信息:listdir
    print(os.listdir(os.getcwd()))

     

文件管理

  • 打开文件(open)
    • 示例
      fp = open(0.py,r)

       

    • 参数
      flie:操作的文件名
      mode:打开的方式
      encoding:编码方式,通常不用指定,系统会自动识别

       

    • 打开方式
      r:只读方式,文件不存在报错
      w:只写方式,文件不存在则创建,存在则清空
      a:追加方式,文件不存在则创建,存在直接打开(不会清空),只能向最后追加
      r+:在r方式基础上添加可写的权限
      w+:在w方式基础上添加可读的权限
      a+:在a方式基础上添加可读的权限
      
      在上面的打开方式添加一个字符b,表示以二进制的方式进行操作:rb、wb、ab、rb+、wb+、ab+
      说明:没有添加b的打开方式,默认的读写都是以字符串形式进行的,带b的都是以bytes进行的

       

    • 编码方式
      ASCII:美国信息交换标准代码(128)
      ansi:扩展的ASCII(256)
      gb2312:中国的ansi
      gbk:扩充的gb2312
      Unicode:万国码,将所有国家的所有字符全部进行统一编码
      utf-8:一种可变长度Unicode实现方案,而且对中文支持比较友好

       

  • 关闭文件
    fp.close()

     

  • 文件读写
    #判断是否可读
    # print(fp.readable())
    #读取指定长度内容
    content = fp.read(5)
    #读取一行
    # content = fp.readline()
    #读取所有的行,返回一个列表
    # content = fp.readlines()
    
    #判断是否可写
    print(fp.writable())
    #写入内容
    # fp.write(‘hello‘)
    # print(fp)

     

  • 操作位置
    #文件操作位置
    # print(fp.tell())
    
    #设置操作位置
    #参数1:偏移量
    #参数2:参考位置,0:开头,1:当前位置,2:结束位置
    #以bytes形式读写seek没有问题,以str型是读写的seek只能设置从开头偏移
    fp.seek(5,0)

     

  • 文件删除
    os.remove(文件名)

    bytes类型

  • 示例
    #字节流
    # s= b‘hello‘
    # print(s)
    # print(type(s))
    
    #编码:str=>bytes
    s = hello.encode(utf-8)
    print(type(s))
    
    #解码:bytes=>str
    b = s.decode(utf-8)
    print(b,type(b))

     

以上是关于文件操作的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode 如何操作用户自定义代码片段(快捷键)

代码片段 - Golang 实现集合操作

Apollo Codegen 没有找到生成代码的操作或片段

VSCode自定义代码片段——.vue文件的模板

操作栏标签片段中的片段?