美文网首页
文件属性

文件属性

作者: 10点睡7点起 | 来源:发表于2018-04-30 21:32 被阅读0次

    os模块处理文件属性

    import os

    • 判断系统平台
      • os.name: win显示nt,linux显示posix
      • os.uname(): *nix 支持
      • sys.platform: win显示win32, linux显示linux
    • os.listdir(pathstr): 返回目录内容列表
    • os.stat(path): 根据路径显示对应的元信息
      • path:可以是str或者bytes
    • os.chmod(path, mode=0o777):改变文件的权限
    • os.chown(path,uid,gid): 改变文件的所属用户,所属组

    shutil模块(高级文件操作)

    • copyfileobj(fsrc, fdst [,length]):文件内容复制
      • fsrc/fdst: 打开的文件对象
      • 要求fsrc可读,fdst可写
    import shutil
    
    filename = 'doc/src.txt'
    with open(filename, 'r+') as src:
        src.write('abddaddadsfasdfas')
        src.flush() 
        src.seek(0) # 在复制前确保文件指针的位置
        with open('doc/dst.txt', 'w') as dst:
            shutil.copyfileobj(src,dst)
    
    • copyfile(src,dst): 文件(二进制)内容复制,不含元数据

      • src、dst是字符串文件路径
    • copymode(src,dst): 仅仅复制文件权限st_mode属性

    • copystat(src,dst): 复制元数据,包含权限

    • copy(src,dst): 复制文件内容、权限和部分元数据

      • 不包含创建时间和修改时间
      • 本质上调用copyfile、copymode
    • copy2(src,dst): 复制文件内容、权限和全部元数据

      • 需要平台支持
      • 本质上调用copyfile和copystat
    • copytree(src,dst,ignore=None,copy_function=copy2): 递归赋值目录

      • src、dst必须是目录,src必须存在、dst必须不存在
      • 默认使用copy2函数
      • ignore是一个可调用对象,用来处理特定文件
    • `move(src,dst,copy_function=copy2)

      • 递归移动文件、目录到目标,返回目标
      • 本身使用的是os.rename方法
      • 不支持os.rename,如果是目录:使用copytree复制再删除源目录

    相关文章

      网友评论

          本文标题:文件属性

          本文链接:https://www.haomeiwen.com/subject/ptytrftx.html