python学习 —— os模块方法

目录

1、access()

2、chdir

3、close

4、closerange

5、dup

6、dup2

7、fstat

8、fsync

9、getcwd

10、getcedu

11、isatty

13、listdir

14、lseek

15、makedev

16、makedirs

17、mkfifo

18、mknod

19、openpty

20、pipe

21、read

22、remove

23、removedirs

24、rename

25、rmdir

26、stat_float_times

27、statvfs

28、tcgetpgrp

29、tcsetpgrp

30、ttyname

32、utime

33、walk

34、path


1、access()

检验权限模式;

os.access(path, mode)

path:要用来检测是否有访问权限的路径

mode:包含以下几种参数形式:

  • os.F_OK:测试 path 是否存在;
  • os.R_OK:测试 path 是否可读;
  • os.W_OK:测试 path 是否可写;
  • os.X_OK:测试 path 是否可执行;

测试结果为真,返回 True,否则返回 False;


2、chdir

改变当前工作目录到指定的新路径;

os.chdir(path)

path:新路径;


3、close

关闭指定的文件描述符;

fd = os.open(path)

os.close(fd)

fd:文件描述符;


4、closerange

关闭所有文件描述符;

os.closerange(fd_low, fd_high)

fd_low:最小文件描述符(包含);

fd_high:最大文件描述符(不包含);


5、dup

复制文件描述符,并将复制的文件描述符返回;

os.dup(fd)

fd:文件描述符;


6、dup2

将一个文件描述符 fd 复制到 fd2;

os.dup2(fd, fd2)

fd:被复制的文件描述符;

fd2:复制的文件描述符;


7、fstat

返回文件描述符 fd 的状态;

os.fstat(fd)

返回结构如下:

  • st_dev:设备信息;
  • st_ino:文件的 i-node 值;
  • st_mode:文件信息的掩码(包含权限信息、类型信息);
  • st_nlink:硬连接数;
  • st_uid:用户 ID;
  • st_gid:用户组 ID;
  • st_rdev:设备 ID;
  • st_size:文件大小(byte);
  • st_blksize:系统 I/O 快大小;
  • st_blocks:文件由多少个512 byte 的快构成;
  • st_atime:文件最近的访问时间;
  • st_mtime:文件最近的修改时间;
  • st_ctime:文件状态信息的修改时间;

8、fsync

强制将文件描述符为 fd 的文件写入硬盘;

os.fsync(fd)


9、getcwd

返回当前工作目录;

os.getcwd()


10、getcedu

返回一个当前工作目录的 Unicode 对象;

os.getcwdu()


11、isatty

如果文件描述符 fd 时打开的,同时与 tty(-like) 设备相连,则返回 True,否则返回 False;

os.isatty(fd)


创建硬链接;

os.link(src, dst)

src:用于创建硬链接的源地址;

dst:用于创建硬链接的目标地址;


13、listdir

返回指定的文件夹包含的文件或文件夹的名字的列表;

os.listdir(path)

path:需要列出的目录途径;


14、lseek

设置文件描述符当前位置;

os.lseek(fd, pos, how)

fd:文件描述符;

pos:相对于给定的参数 how 在文件中的位置;

how:文件内参考位置(SEEK_SET 或 0 设置从文件开始计算pos,SEEK_CUR 或 1 设置当前位置计算,SEEK_END 或 2 设置从文件尾部开始计算);


15、makedev

以 major 和 minor 设备号组成一个原始设备号;

os.makedev(major, minor)

major:major 设备号;

minor:minor 设备号;

返回设备号;


16、makedirs

递归创建目录(创建的所有 intermediate-level 文件夹需要包含子目录);

os.makedirs(path, mode=0o777)

path:需要递归创建的目录;

mode:创建模式;


17、mkfifo

创建指定路径的管道,并设置权限模式(默认模式为O666(八进制));

os.mkfifo(path[, mode])

path:要创建的目录;

mode:要为目录设置的权限数字模式;


18、mknod

创建一个指定文件名的文件系统节点;

os.mknod(filename[, mode=0600[, device=0]])

filename:创建的文件系统节点;

mode:指定创建或使用节点的权限;

device:可选,指定创建文件的设备;


19、openpty

打开一个新的伪终端对,返回 pty 和 tty 的描述符;

os.openpty()


20、pipe

创建一个管道,返回一对文件描述符 (r, w),分别为读、写;

os.pipe()


21、read

从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串(fd 对应文件已到达结尾,则返回一个空字符串);

os.read(fd, n)

fd:文件描述符;

n:读取的字节;


22、remove

用于删除指定路径的文件(如果指定路径是一个目录,将抛出OSError);

os.remove(path)

path:要移除的文件路径;


23、removedirs

递归删除目录(如果子文件夹成功删除,才尝试它的父文件夹,直到抛出 error);

os.removedirs(path)

path:要移除的目录路径;


24、rename

用于命名文件或目录,从 src 到 dst,如果 dst 是一个存在的目录,将抛出 OSError;

os.rename(src, dst)

src:要修改的目录名;

dst:修改后的目录名;


25、rmdir

删除指定路径的目录,非空则抛出 OSError;

os.rmdir(path)

path:要删除的目录路径;


26、stat_float_times

用于决定 stat_result 是否以 float 对象显示时间戳;

os.stat_float_times([newvalue])

newvalue:若为 True,调用 stat() 返回floats;若为 False,调用 stat 返回 ints;若无参数,返回当前位置;


27、statvfs

返回包含文件描述符 fd 的文件的文件系统信息;

os.statvfs([path])

path:文件路径;

返回的结构如下:

 

  • f_bsize:文件系统块大小;
  • f_frsize:分栈大小;
  • f_blocks:文件系统数据块总数;
  • f_bfree:可用块数;
  • f_bavail:非超级用户可获取的块数;
  • f_files:文件节点总数;
  • f_ffree:可用文件节点数;
  • f_favail:非超级用户的可用文件节点数;
  • f_fsid:文件系统标识 ID;
  • f_flag:挂载标记;
  • f_namemax:最大文件长度;

28、tcgetpgrp

返回与终端 fd 关联的进程组;

os.tcgetpgrp(fd)

fd:文件描述符;


29、tcsetpgrp

设置与终端 fd 关联的进程组为 pg;

os.tcsetpgrp(fd, pg)


30、ttyname

返回一个字符串,它表示与文件描述符 fd 关联的终端设备(若 fd 没有与终端设备关联,则引发一个异常);

os.ttyname(fd)


删除文件(若文件是一个目录,则返回错误);

os.unlink(path)

path:删除文件的路径;


32、utime

设置指定路径文件最后的修改和访问时间;

os.utime(path, times)

path:文件路径;

times:如果时间是 None,则文件的访问和修改设置为当前时间,否则,时间是一个 2-tuple 数字(atime, mtime)用来分别作为访问和修改时间;


33、walk

创建一个生成器,用以生成所要查找的目录及其子目录下的所有文件;

os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])

top:根目录下的每一个文件夹(包含它自己),产生 3-tuple (dirpath(文件夹路径), dirnames(文件夹名字), filenames(文件名));

topdown:可选:

  • 为 True 时(默认),一个目录的 3-tuple 将比它的任何子文件夹的 3-tuple 产生(目录自上而下);
  • 为 False 时,一个目录的 3-tuple 将比它的任何子文件夹的 3-tuple 产生(目录自下而上);

onerror:可选,是一个函数,调用时有一个参数,一个 OSError 实例(报这个错后继续 walk,或抛出 exception 终止 walk);

followlinks:为 True,则通过软连接访问目录;


34、path

用于获取文件的属性;

os.path.abspath(path)返回绝对路径;
os.path.basename(path)返回文件名;
os.path.commonprefix(list)返回 list 中所有 path 共有的最长的路径;
os.path.dirname(path)返回文件路径;
os.path.exists(path)路径存在返回 True,否则返回 False;
os.path.lexists路径存在或损坏均返回 True;
os.path.expanduser(path)把 path 中包含的 ‘~’ 和 ‘~user’ 转换成用户目录;
os.path.getatime(path)返回最近访问的时间(浮点型秒数);
os.path.getmtime(path)返回最近文件修改时间;
os.path.getctime(path)返回文件 path 创建时间;
os.path.getsize(path)返回文件大小,若文件不存在返回错误;
os.path.isabs(path)判断是否为绝对路径;
os.path.isfile(path)判断路径是否为文件;
os.path.isdir(path)判断路径是否为目录;
os.path.islink(path)判断路径是否为连接;
os.path.ismount(path)判断路径是否为挂载点;
os.path.join(path1[, path2[, ...]])把目录和文件名合成一个路径;
os.path.normcase(path)转换 path 的大小写和斜杠;
os.path.normpath(path)规范 path 字符串形式;
os.path.realpath(path)返回 path 的真实路径;
os.path.relpath(path[, start])从 start 开始计算相对路径;
os.path.samefile(path1, path2)判断目录或文件是否相同;
os.path.sameopenfile(fp1, fp2)判断 fp1 和 fp2 是否指向同一文件;
os.path.samestat(stat1, stat2)判断 stat tuple stat1 和 stat2 是否指向同一文件;
os.path.split(path)把路径分割成 dirname 和 basename,返回一个元组;
os.path.splitdrive(path)返回驱动器名和路径组成的元组;
os.path.splitext(path)分割路径,返回路径名和文件扩展名的元组;
os.path.splitunc(path)把路径分割为加载点和文件;
os.path.walk(path, visit, arg)遍历 path,进入每个目录都调用 visit 函数,visit 函数必须有3个参数(arg, dirname, names),dirname 表示当前目录的目录名,names 表示当前目录下的所有文件名,args 为 walk 的第三个参数;
os.path.supports_unicode_filenames设置是否支持 unicode 路径名;

Reference:https://www.runoob.com/python3/python3-os-file-methods.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值