Python3 os模块

python里面的os模块有许多方法可以让我们通过代码实现创建,删除和更改目录

整理自菜鸟教程网

os.access(path, mode)

概述

os.access() 方法使用当前的uid/gid尝试访问路径。大部分操作使用有效的 uid/gid, 因此运行环境可以在 suid/sgid 环境尝试。

语法

access()方法语法格式如下:

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是否可执行。

返回值

如果允许访问返回 True , 否则返回False。

os.chdir(path)

概述

os.chdir() 方法用于改变当前工作目录到指定的路径。

语法

chdir()方法语法格式如下:

os.chdir(path)

参数

  • path -- 要切换到的新路径。

返回值

如果允许访问返回 True , 否则返回False。

os.chmod(path, mode)

概述

os.chmod() 方法用于更改文件或目录的权限。

Unix 系统可用。

语法

chmod()方法语法格式如下:

os.chmod(path, mode)

参数

  • path -- 文件名路径或目录路径。

  • flags -- 可用以下选项按位或操作生成, 目录的读权限表示可以获取目录里文件名列表, ,执行权限表示可以把工作目录切换到此目录 ,删除添加目录里的文件必须同时有写和执行权限 ,文件权限以用户id->组id->其它顺序检验,最先匹配的允许或禁止权限被应用。

    • stat.S_IXOTH: 其他用户有执行权0o001
    • stat.S_IWOTH: 其他用户有写权限0o002
    • stat.S_IROTH: 其他用户有读权限0o004
    • stat.S_IRWXO: 其他用户有全部权限(权限掩码)0o007
    • stat.S_IXGRP: 组用户有执行权限0o010
    • stat.S_IWGRP: 组用户有写权限0o020
    • stat.S_IRGRP: 组用户有读权限0o040
    • stat.S_IRWXG: 组用户有全部权限(权限掩码)0o070
    • stat.S_IXUSR: 拥有者具有执行权限0o100
    • stat.S_IWUSR: 拥有者具有写权限0o200
    • stat.S_IRUSR: 拥有者具有读权限0o400
    • stat.S_IRWXU: 拥有者有全部权限(权限掩码)0o700
    • stat.S_ISVTX: 目录里文件目录只有拥有者才可删除更改0o1000
    • stat.S_ISGID: 执行此文件其进程有效组为文件所在组0o2000
    • stat.S_ISUID: 执行此文件其进程有效用户为文件所有者0o4000
    • stat.S_IREAD: windows下设为只读
    • stat.S_IWRITE: windows下取消只读

返回值

该方法没有返回值。

os.chroot(path)

概述

os.chroot() 方法用于更改当前进程的根目录为指定的目录,使用该函数需要管理员权限。

在 unix 中有效。

语法

chroot()方法语法格式如下:

os.chroot(path);

参数

  • path -- 要设置为根目录的目录。

返回值

该方法没有返回值。

os.close(fd)

概述

os.close() 方法用于关闭指定的文件描述符 fd。

语法

close()方法语法格式如下:

os.close(fd);

参数

  • fd -- 文件描述符。

返回值

该方法没有返回值。

os.getcwd()

概述

os.getcwd() 方法用于返回当前工作目录。

语法

getcwd()方法语法格式如下:

os.getcwd()

参数

返回值

返回当前进程的工作目录。

os.listdir(path)

概述

os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 . 和 .. 即使它在文件夹中。

只支持在 Unix, Windows 下使用。

语法

listdir()方法语法格式如下:

os.listdir(path)

参数

  • path -- 需要列出的目录路径

返回值

返回指定路径下的文件和文件夹列表。

os.mkdir(path[, mode])

概述

os.mkdir() 方法用于以数字权限模式创建目录。默认的模式为 0777 (八进制)。

如果目录有多级,则创建最后一级,如果最后一级目录的上级目录有不存在的,则会抛出一个 OSError。

语法

mkdir()方法语法格式如下:

os.mkdir(path[, mode])

参数

  • path -- 要创建的目录,可以是相对或者绝对路径。

  • mode -- 要为目录设置的权限数字模式

返回值

该方法没有返回值。

os.open(file, flags[, mode])

概述

os.open() 方法用于打开一个文件,并且设置需要的打开选项,模式参数mode参数是可选的,默认为 0777。

语法

open()方法语法格式如下:

os.open(file, flags[, 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: 不追踪软链接
  • mode -- 类似 chmod()

返回值

返回新打开文件的描述符。

os.read(fd,n)

概述

os.read() 方法用于从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串,文件描述符 fd对应文件已达到结尾, 返回一个空字符串。

在Unix,Windows中有效

语法

read()方法语法格式如下:

os.read(fd,n)

参数

  • fd -- 文件描述符。

  • n -- 读取的字节。

返回值

返回包含读取字节的字符串

os.remove(path)

概述

os.remove() 方法用于删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError。

在Unix, Windows中有效

语法

remove()方法语法格式如下:

os.remove(path)

参数

  • path -- 要移除的文件路径

返回值

该方法没有返回值

os.removedirs(path)

概述

os.removedirs() 方法用于递归删除目录。像rmdir(), 如果子文件夹成功删除, removedirs()才尝试它们的父文件夹,直到抛出一个error(它基本上被忽略,因为它一般意味着你文件夹不为空)。

语法

removedirs()方法语法格式如下:

os.removedirs(path)

参数

  • path -- 要移除的目录路径

返回值

该方法没有返回值

os.rename(src, dst)

概述

os.rename() 方法用于命名文件或目录,从 src 到 dst,如果dst是一个存在的目录, 将抛出OSError。

语法

rename()方法语法格式如下:

os.rename(src, dst)

参数

  • src -- 要修改的目录名

  • dst -- 修改后的目录名

返回值

该方法没有返回值

os.renames(old, new)

概述

os.renames() 方法用于递归重命名目录或文件。类似rename()。

语法

renames()方法语法格式如下:

os.renames(old, new)

参数

  • old -- 要重命名的目录

  • new --文件或目录的新名字。甚至可以是包含在目录中的文件,或者完整的目录树。

返回值

该方法没有返回值

os.rmdir(path)

概述

os.rmdir() 方法用于删除指定路径的目录。仅当这文件夹是空的才可以, 否则, 抛出OSError。

语法

rmdir()方法语法格式如下:

os.rmdir(path)

参数

  • path -- 要删除的目录路径

返回值

该方法没有返回值

os.path() 模块

菜鸟->
os.pardir

概述

os.pardir() 获取当前目录的父目录(上一级目录),以字符串形式显示目录名。

注意: Windows 和 POSIX 返回 ..。

语法

pardir()方法语法格式如下:

os.pardir

参数

  • 无。

返回值

返回当前目录的父目录,默认值为 ..。

posted @ 2021-06-22 17:35  Gex  阅读(92)  评论(0编辑  收藏  举报