• OS模块


     

    一:os模块方法

    • os.access(path,mode)检测文件是否存在等,不区分大小写
    参数
    path -- 要用来检测是否有访问权限的路径。 
    mode -- mode为F_OK,测试存在的路径,或者它可以是包含R_OK, W_OK和X_OK或者R_OK, W_OK和X_OK其中之一或者更多。 
    os.F_OK: 作为access()的mode参数,测试path是否存在。
    os.R_OK: 包含在access()的mode参数中 , 测试path是否可读。 
    os.W_OK 包含在access()的mode参数中 , 测试path是否可写。
    os.X_OK 包含在access()的mode参数中 ,测试path是否可执行。
    • 目录操作
    1 os.mkdir(path,mode)创建一个文件夹
    2 os.chdir(path)改变路径
    3 os.getcwd()返回当前工作目录
    4 os.listdir(path)#列出当前目录下的文件和目录
    5 os.remove(path)删除文件
    6 os.removedirs(path)递归删除目录
    7 os.rename(src,dst)重命名
    8 os.rmdirs(path)删除path指定的空目录
    目录操作
    • 权限操作
     1 os.chmod(path,mode)#更改文件权限
     2     stat.S_IXOTH: 其他用户有执行权0o001
     3     stat.S_IWOTH: 其他用户有写权限0o002
     4     stat.S_IROTH: 其他用户有读权限0o004
     5     stat.S_IRWXO: 其他用户有全部权限(权限掩码)0o007
     6     stat.S_IXGRP: 组用户有执行权限0o010
     7     stat.S_IWGRP: 组用户有写权限0o020
     8     stat.S_IRGRP: 组用户有读权限0o040
     9     stat.S_IRWXG: 组用户有全部权限(权限掩码)0o070
    10     stat.S_IXUSR: 拥有者具有执行权限0o100
    11     stat.S_IWUSR: 拥有者具有写权限0o200
    12     stat.S_IRUSR: 拥有者具有读权限0o400
    13     stat.S_IRWXU: 拥有者有全部权限(权限掩码)0o700
    14     stat.S_ISVTX: 目录里文件目录只有拥有者才可删除更改0o1000
    15     stat.S_ISGID: 执行此文件其进程有效组为文件所在组0o2000
    16     stat.S_ISUID: 执行此文件其进程有效用户为文件所有者0o4000
    17     stat.S_IREAD: windows下设为只读
    18     stat.S_IWRITE: windows下取消只读
    19 os.chown(path,uid,gid)#更改文件所属
    20                 
    View Code
    •  os.open(file,mode)打开一个文件
    file -- 要打开的文件
    flags -- 该参数可以是以下选项,多个使用 "|" 隔开:
        os.O_RDONLY: 以只读的方式打开 
        os.O_WRONLY: 以只写的方式打开 
        os.O_RDWR : 以读写的方式打开
        os.O_NONBLOCK: 打开时不阻塞
        os.O_APPEND: 以追加的方式打开
        os.O_CREAT: 创建并打开一个新文件
        os.O_TRUNC: 打开一个文件并截断它的长度为零(必须有写权限)
        os.O_EXCL: 如果指定的文件存在,返回错误
        os.O_SHLOCK: 自动获取共享锁
        os.O_EXLOCK: 自动获取独立锁
        os.O_DIRECT: 消除或减少缓存效果
        os.O_FSYNC : 同步写入
        os.O_NOFOLLOW: 不追踪软链接
    
    • os.poen() 方法用于从一个命令打开一个管道
    command -- 使用的命令。
    mode -- 模式权限可以是 'r'(默认) 或 'w'。
    bufsize -- 指明了文件需要的缓冲大小:0意味着无缓冲;1意味着行缓冲;其它正值表示使用参数大小的缓冲(大概值,以字节为单位)。负的bufsize意味着使用系统的默认值,一般来说,对于tty设备,它是行缓冲;对于其它文件,它是全缓冲。如果没有改参数,使用系统的默认值。
    
    • os.state(path)返回文件属性
    返回值
    st_mode: inode 保护模式
    st_ino: inode 节点号。
    st_dev: inode 驻留的设备。
    st_nlink: inode 的链接数。
    st_uid: 所有者的用户ID。
    st_gid: 所有者的组ID。
    st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。
    st_atime: 上次访问的时间。
    st_mtime: 最后一次修改的时间。
    st_ctime: 由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如Windows)是创建时间(详细信息参见平台的文档)。 
    
    • os.write(),os.close()
    os.write(fd, str)酱str写入文件
    os.close(fd)关闭文件对象
    
    • os.path
     1 os.path.abspath(path) 
     2     返回文件绝对路径
     3 os.path.basename(path)
     4     返回路径中的文件名
     5 os.path.dirname(path)
     6     返回path的中的路径
     7 os.path.exists(path)
     8     判断文件或路径是否存在,不区分大小写
     9 os.path.getatime(path) 
    10     返回最近访问时间(浮点型秒数)
    11 os.path.getmtime(path) 
    12     返回最近文件修改时间
    13 os.path.getctime(path) 
    14     返回文件 path 创建时间
    15 os.path.getsize(path) 
    16     返回文件大小,如果文件不存在就返回错误
    17 os.path.isabs(path) 
    18     判断是否为绝对路径
    19 os.path.isfile(path) 
    20     判断路径是否为文件
    21 os.path.join(path1[, path2[, ...]]) 
    22     把目录和文件名合成一个路径
    23 os.path.samefile(path1, path2) 
    24     判断目录或文件是否相同
    25 os.path.sameopenfile(fp1, fp2) 
    26     判断fp1和fp2是否指向同一文件
    27 os.path.split(path) 
    28     把路径分割成 dirname 和 basename,返回一个元组
    29 os.path.splitdrive(path) 
    30     一般用在 windows 下,返回驱动器名和路径组成的元组
    31 os.path.splitext(path) 
    32     分割路径,返回路径名和文件扩展名的元组
    View Code

    path中常用的

    • os.path.abspath(path)返回绝对路径
    • os.path.basename(path)返回文件名
    • os.path.dirname(path)返回路径
    • os.path.exists(path)路径或文件是否存在
    • os.path.getsize(path)获取文件大小
    • os.path.isfile(path)是否为文件
    • os.path.join(path1[, path2[, ...]]) 路径合并

    https://docs.python.org/3/library/os.html?highlight=os

      

  • 相关阅读:
    前端入门flutter-05Image组件
    前端入门flutter-03Flutter目录结构介绍、入口、自定义Widget、Center组件、Text组件、MaterialApp组件、Scaffold组件
    前端入门flutter-02Dart语言学习
    前端入门flutter-01配置环境
    恋上数据结构使用什么编程语言讲解
    centOS7+:docker版本过低升级到高版本
    JAVA中List数组判断是否有重复元数
    连接数据库时username冲突
    Quartz的学习
    MySQL 服务无法启动解决途径
  • 原文地址:https://www.cnblogs.com/Mr-l/p/11234996.html
Copyright © 2020-2023  润新知