Python3的os模块的使用(待完成)

版权声明:本文为博主原创文章,未经博主允许不得转载。不准各种形式的复制及盗图 https://blog.csdn.net/qq_26816591/article/details/88598439
import os

# 1.access(path,mode)
print(os.access('E:\PythonWorkPlace\study\慎独', os.W_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是否可执行。

# 2.getcwd()
print(os.getcwd())  # 返回当前工作目录

# 3.chdir(path)
os.chdir('E:\PythonWorkPlace\study')  # 改变当前工作目录

# 4.chflags(path,flags) 只支持在 Unix 下使用。
import stat

# os.chflags('E:\PythonWorkPlace\study\慎独', stat.UF_NODUMP)  # 设置路径的标记为数字标记。

# flags -- 可以是以下值:
# stat.UF_NODUMP: 非转储文件
# stat.UF_IMMUTABLE: 文件是只读的
# stat.UF_APPEND: 文件只能追加内容
# stat.UF_NOUNLINK: 文件不可删除
# stat.UF_OPAQUE: 目录不透明,需要通过联合堆栈查看
# stat.SF_ARCHIVED: 可存档文件(超级用户可设)
# stat.SF_IMMUTABLE: 文件是只读的(超级用户可设)
# stat.SF_APPEND: 文件只能追加内容(超级用户可设)
# stat.SF_NOUNLINK: 文件不可删除(超级用户可设)
# stat.SF_SNAPSHOT: 快照文件(超级用户可设)

# 5.chmod() 在 Unix 下使用。
print(os.chmod('E:\PythonWorkPlace\study\慎独', stat.S_IRWXU))  # 更改文件或目录权限
# 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下取消只读

# 6.chown(path, uid, gid) 只支持在 Unix 下使用。
# os.chown(path, uid, gid)        # 更改文件所有者

# 7.chroot(path) 在 Unix 中有效。
# os.chroot(path)                 # 改变当前进程的根目录

# 8.open()
f1 = os.open('慎独', os.O_RDWR | os.O_CREAT)  # 打开一个文件,并且设置需要的打开选项,mode参数是可选的
str1 = "成功写入文件,注意文件权限"
str1 = str1.encode()

# 9.write()
os.write(f1, str1)  # 写入字符串到文件描述符 fd中. 返回实际写入的字符串长度

# 10.close()
os.close(f1)  # 关闭文件描述符 fd

# 11.closerange(fd_low, fd_high)
f2 = os.open('慎独', os.O_RDWR | os.O_CREAT)
print(os.closerange(f2, f2))  # 关闭所有文件描述符,从 fd_low (包含) 到 fd_high (不包含), 错误会忽略
# 12.curdir
print(os.curdir)  # 返回当前目录:('.')

# 13.dup()
f3 = os.open('慎独', os.O_RDWR | os.O_CREAT)
f4 = os.dup(f3)  # 复制文件描述符 fd
os.write(f4, '通过复制的文件标志符添加'.encode())

# os.dup2(fd, fd2)                # 将一个文件描述符 fd 复制到另一个 fd2

# 14.environ
print(os.environ)  # 获取系统环境变量

# os.fchdir(fd)                   # 通过文件描述符改变当前工作目录
# os.fchmod(fd, os.F_OK)             # 改变一个文件的访问权限,该文件由参数fd指定,参数mode是Unix下的文件访问权限。
# os.fchown(fd, uid, gid)         # 修改一个文件的所有权,这个函数修改一个文件的用户ID和用户组ID,该文件由文件描述符fd指定。
# os.fdatasync(fd)                # 强制将文件写入磁盘,该文件由文件描述符fd指定,但是不强制更新文件的状态信息。
# os.fdopen(fd[, os.F_OK[, bufsize]])  # 通过文件描述符 fd 创建一个文件对象,并返回这个文件对象
# os.fpathconf(fd, name)          # 返回一个打开的文件的系统配置信息。name为检索的系统配置的值,它也许是一个定义系统值的字符串,这些名字在很多标准中指定(POSIX.1, Unix 95, Unix 98, 和其它)。
# os.fstat(fd)                    # 返回文件描述符fd的状态,像stat()。
# os.fstatvfs(fd)                 # 返回包含文件描述符fd的文件的文件系统的信息,像 statvfs()
# os.fsync(fd)                    # 强制将文件描述符为fd的文件写入硬盘。
# os.ftruncate(fd, length)        # 裁剪文件描述符fd对应的文件, 所以它最大不能超过文件大小。

# os.getcwdu()                    # 返回一个当前工作目录的Unicode对象
# os.isatty(fd)                   # 如果文件描述符fd是打开的,同时与tty(-like)设备相连,则返回true, 否则False。
# os.lchflags(path, flags)        # 设置路径的标记为数字标记,类似 chflags(),但是没有软链接
# os.lchmod(path, os.F_OK)           # 修改连接文件权限
# os.lchown(path, uid, gid)       # 更改文件所有者,类似 chown,但是不追踪链接。
# os.link(src, dst)               # 创建硬链接,名为参数 dst,指向参数 src
# os.listdir(path)                # 返回path指定的文件夹包含的文件或文件夹的名字的列表。
# os.lseek(fd, pos, how)          # 设置文件描述符 fd当前位置为pos, how方式修改: SEEK_SET 或者 0 设置从文件开始的计算的pos; SEEK_CUR或者 1 则从当前位置计算; os.SEEK_END或者2则从文件尾部开始. 在unix,Windows中有效
# os.lstat(path)                  # 像stat(),但是没有软链接
# os.linesep                      # 当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
# os.major(device)                # 从原始的设备号中提取设备major号码 (使用stat中的st_dev或者st_rdev field)。
# os.makedev(major, minor)        # 以major和minor设备号组成一个原始设备号
# os.makedirs(path[, os.F_OK])       # 递归文件夹创建函数。像mkdir(), 但创建的所有intermediate-level文件夹需要包含子文件夹。
# os.minor(device)                # 从原始的设备号中提取设备minor号码 (使用stat中的st_dev或者st_rdev field )。
# os.mkdir(path[, os.F_OK])          # 以数字mode的mode创建一个名为path的文件夹.默认的 os.F_OK 是 0777 (八进制)。
# os.mkfifo(path[, os.F_OK])         # 创建命名管道,os.F_OK 为数字,默认为 0666 (八进制)
# os.mknod(filename[, os.F_OK=0600, device])  # 创建一个名为filename文件系统节点(文件,设备特别文件或者命名pipe)。

# os.openpty()                    # 打开一个新的伪终端对。返回 pty 和 tty的文件描述符。
# os.pathconf(path, name)         # 返回相关文件的系统配置信息。
# os.pathsep                      # 用于分割文件路径的字符串
# os.pardir                       # 获取当前目录的父目录字符串名:('..')
# os.pipe()                       # 创建一个管道. 返回一对文件描述符(r, w) 分别为读和写
# os.popen(command[, os.F_OK[, bufsize]])  # 从一个 command 打开一个管道
# os.path.abspath(path)           # 返回path规范化的绝对路径
# os.path.split(path)             # 将path分割成目录和文件名二元组返回
# os.path.dirname(path)           # 返回path的目录。其实就是os.path.split(path)的第一个元素
# os.path.basename(path)          # 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
# os.path.exists(path)            # 如果path存在,返回True;如果path不存在,返回False
# os.path.isabs(path)             # 如果path是绝对路径,返回True
# os.path.isfile(path)            # 如果path是一个存在的文件,返回True。否则返回False
# os.path.isdir(path)             # 如果path是一个存在的目录,则返回True。否则返回False
# os.path.join(path1[, path2[, ...]])  # 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
# os.path.getatime(path)          # 返回path所指向的文件或者目录的最后存取时间
# os.path.getmtime(path)          # 返回path所指向的文件或者目录的最后修改时间
# os.name                         # 字符串指示当前使用平台。win->'nt'; Linux->'posix'
# os.read(fd, n)                  # 从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串,文件描述符 fd对应文件已达到结尾, 返回一个空字符串。
# os.readlink(path)               # 返回软链接所指向的文件
# os.remove(path)                 # 删除路径为path的文件。如果path 是一个文件夹,将抛出OSError; 查看下面的rmdir()删除一个 directory。
# os.removedirs(path)             # 递归删除目录。若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
# os.rename(src, dst)             # 重命名文件或目录,从 src 到 dst
# os.renames(old, new)            # 递归地对目录进行更名,也可以对文件进行更名。
# os.rmdir(path)                  # 删除path指定的空目录,如果目录非空,则抛出一个OSError异常。
# os.sep                          # 操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
# os.stat(path)                   # 获取path指定的路径的信息,功能等同于C API中的stat()系统调用。
# os.stat_float_times([newvalue]) # 决定stat_result是否以float对象显示时间戳
# os.statvfs(path)                # 获取指定路径的文件系统统计信息
# os.symlink(src, dst)            # 创建一个软链接
# os.system("bash command")       # 运行shell命令,直接显示
# os.tcgetpgrp(fd)                # 返回与终端fd(一个由os.open()返回的打开的文件描述符)关联的进程组
# os.tcsetpgrp(fd, pg)            # 设置与终端fd(一个由os.open()返回的打开的文件描述符)关联的进程组为pg。
# os.tempnam([dir[, prefix]])     # 返回唯一的路径名用于创建临时文件。
# os.tmpfile()                    # 返回一个打开的模式为(w+b)的文件对象 .这文件对象没有文件夹入口,没有文件描述符,将会自动删除。
# os.tmpnam()                     # 为创建一个临时文件返回一个唯一的路径
# os.ttyname(fd)                  # 返回一个字符串,它表示与文件描述符fd 关联的终端设备。如果fd 没有与终端设备关联,则引发一个异常。
# os.unlink(path)                 # 删除文件路径
# os.utime(path, times)           # 返回指定的path文件的访问和修改的时间。
# os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])  # 输出在文件夹中的文件名通过在树中游走,向上或者向下。

猜你喜欢

转载自blog.csdn.net/qq_26816591/article/details/88598439
今日推荐