文件操作

2018-08-10 11:26:22来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

目录管理(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))

     

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:七个不一样的Python代码写法,让你写出一手漂亮的代码

下一篇:正则表达式