python——os库(文件和目录操作)

引言

        在前面的博客中,小编带大家学习了os库中文件和目录操作相关功能中的os.path系列函数,今天,小编将带各位小可爱学习文件和目录操作功能中除os.path外的函数。

文件和目录操作功能都包括哪些函数?

     文件和目录操作功能相关的函数除了(python—os库之os.path系列-优快云博客)和(python——os库之os.remove函数-优快云博客)这两篇博客中的内容,还包括以下函数表1中的函数:

功能函数作用参数
文件和目录操作os.access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True)检查当前用户是否有权访问指定的路径"path" 是要检查的文件或目录的路径。
 "mode" 是一个表示访问模式的整数,可以是 "os.F_OK"(检查文件是否存在)、"os.R_OK"(检查读权限)、"os.W_OK"(检查写权限)和 "os.X_OK"(检查执行权限)的组合。
 "dir_fd"、"effective_ids" 和 "follow_symlinks" 是可选参数,分别用于支持路径查找、检查真实用户/组ID,以及指定是否跟随符号链接。
os.chmod(path, mode, *, dir_fd=None, follow_symlinks=True)更改指定路径的权限模式"path" 是要更改权限模式的文件或目录的路径。
- "mode" 是一个表示权限模式的整数,可以是 "os.R_OK"(读权限)、"os.W_OK"(写权限)和 "os.X_OK"(执行权限)的组合。
- "dir_fd" 和 "follow_symlinks" 是可选参数,分别用于支持路径查找和指定是否跟随符号链接。
os.getcwdb()获取当前工作目录的字节对象这个函数和 "os.getcwd()" 相似,但返回的是字节对象而不是字符串
os.link(src, dst, *, src_dir_fd=None, dst_dir_fd=None, follow_symlinks=True)创建指向同一文件的新文件名,即两个文件名指向文件系统中相同的数据块。链接 "src" 文件到 "dst""src" 和 "dst" 是源文件和目标文件的路径,分别表示硬链接的源文件和目标文件。
- "src_dir_fd"、"dst_dir_fd" 和 "follow_symlinks" 是可选参数,分别用于支持路径查找和指定是否跟随符号链接。
os.listdir(path='.')返回的是一个列表,列出指定目录的所有文件和子目录"path" 是要列出文件和子目录的目录的路径。如果省略 "path" 参数或者设置为 "'.'",那么将列出当前工作目录的所有文件和子目录
os.lstat(path, *, dir_fd=None)获取文件或目录的状态信息,和 "os.stat()" 函数类似,但如果 "path" 是一个符号链接,那么 "os.lstat()" 将返回符号链接本身的状态信息,而 "os.stat()" 将返回符号链接指向的文件的状态信息 "path" 是要获取状态信息的文件或目录的路径。
- "dir_fd" 是可选参数,用于支持路径查找。
os.mkdir(path, mode=0o777, *, dir_fd=None)创建目录 "path" 是要创建的目录的路径。
- "mode" 是可选参数,用于设置新创建的目录的权限,默认为 "0o777"。
- "dir_fd" 是一个可选的文件描述符,用于支持路径查找。如果提供了这个参数,它应该是一个打开的目录的文件描述符。
os.makedirs(name, mode=0o777, exist_ok=False)递归创建目录"name" 是要创建的目录的路径。
- "mode" 是可选参数,用于设置新创建的目录的权限,默认为 "0o777"。
- "exist_ok" 是可选参数,用于指定当目录已存在时是否抛出异常。如果 "exist_ok" 为 "False"(默认值),当目录已存在时,函数将抛出一个 "FileExistsError" 异常。如果 "exist_ok" 为 "True",当目录已存在时,函数不会做任何事情。
os.removedirs(name)递归删除空目录。从指定的目录开始,逐级向上删除目录,直到遇到一个非空目录或根目录。如果指定的目录或其父目录非空,它们将不会被删除"name" 是要创建的目录的路径。
os.rename(src, dst, *, src_dir_fd=None, dst_dir_fd=None)重命名文件或目录 "src" 是要重命名的源文件或目录的路径。
- "dst" 是新的文件或目录名称。
- "src_dir_fd" 和 "dst_dir_fd" 是可选的文件描述符,用于支持路径查找。如果提供了这些参数,它们应该是一个打开的目录的文件描述符
os.renames(old, new)递归地重命名文件或目录 "old" 是要重命名的源文件或目录的路径。
- "new" 是新的文件或目录路径
os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None)用于替换文件或目录。这个函数类似于 "os.rename()",但如果目标文件或目录已经存在,它不会失败,而是替换它"src" 是要替换的源文件或目录的路径。
- "dst" 是新的文件或目录名称。
- "src_dir_fd" 和 "dst_dir_fd" 是可选的文件描述符,用于支持路径查找。如果提供了这些参数,它们应该是一个打开的目录的文件描述符。
os.rmdir(path, *, dir_fd=None)删除空目录"path" 是要删除的目录的路径。
- "dir_fd" 是一个可选的文件描述符,用于支持路径查找。如果提供了这个参数,它应该是一个打开的目录的文件描述符
os.scandir(path='.')返回给定路径中所有条目的迭代器"path" 是要扫描的目录的路径
os.stat(path, *, dir_fd=None, follow_symlinks=True)获取文件或目录的状态信息.
1. "st_mode":保护位,描述文件类型和文件模式位(权限)。
2. "st_ino":i节点号。
3. "st_dev":设备。
4. "st_nlink":链接数。
5. "st_uid":用户ID。
6. "st_gid":组ID。
7. "st_size":文件大小,以字节为单位。
8. "st_atime":最后访问时间。
9. "st_mtime":最后修改时间。
10. "st_ctime":在某些系统上(如Unix)是最新的元数据更改的时间,在其他系统上(如Windows)是创建时间
 "path" 是要获取状态信息的文件或目录的路径。
- "dir_fd" 是一个可选的文件描述符,用于支持路径查找。如果提供了这个参数,它应该是一个打开的目录的文件描述符。
- "follow_symlinks" 是一个可选参数,表示是否跟随符号链接。如果设为 "True"(默认值),那么在遇到符号链接时,将返回指向文件的状态信息。如果设为 "False",那么将返回符号链接本身的状态信息
os.supports_fd表示操作系统支持哪些文件描述符相关的功能。包括:"os.open"、"os.read"、"os.write"、"os.close"、"os.dup"等。
os.supports_follow_symlinks表示操作系统支持哪些遵循符号链接的函数,包括:"os.chflags"、"os.lchflags"、"os.lchmod"等。
os.symlink(src, dst, target_is_directory=False, *, dir_fd=None)在文件系统中创建一个符号链接。符号链接是一个特殊类型的文件,它指向另一个文件或目录。当访问符号链接时,操作系统会将访问重定向到指向的文件或目录。"src" 是被链接文件或目录的路径。
- "dst" 是要创建的符号链接的路径。
- "target_is_directory" 是一个可选参数,表示目标是否是一个目录。如果设为 "True",那么将创建一个指向目录的符号链接。默认值是 "False"。
- "dir_fd" 是一个可选的文件描述符,用于支持路径查找。如果提供了这个参数,它应该是一个打开的目录的文件描述符。
os.truncate(path, length)用于重设指定文件的大小。如果指定的新大小小于当前文件大小,那么文件将被截断,多余的部分将被删除。如果指定的新大小大于当前文件大小,那么文件将被扩展,新增的部分将被填充为空字节。"path" 是要重设大小的文件的路径。
- "length" 是文件的新大小,以字节为单位。
os.utime(path, times=None, *, [ns, ]dir_fd=None, follow_symlinks=True)改变指定文件的访问时间和修改时间"path" 是要改变时间的文件的路径。
- "times" 是一个可选参数,表示新的访问时间和修改时间。它应该是一个包含两个元素的元组,第一个元素是访问时间,第二个元素是修改时间,都以秒为单位。如果省略这个参数,或者设为 "None",那么访问时间和修改时间都将被设为当前时间。
- "ns" 是一个可选参数,表示新的访问时间和修改时间,以纳秒为单位。它应该是一个包含两个元素的元组,第一个元素是访问时间,第二个元素是修改时间。如果既提供了 "times" 又提供了 "ns",那么 "ns" 将被忽略。
- "dir_fd" 和 "follow_symlinks" 参数的含义与前面的函数相同。
os.walk(top, topdown=True, οnerrοr=None, followlinks=False)遍历一个目录树。它生成一个三元组 "(dirpath, dirnames, filenames)""top" 是根目录下的每一个文件夹(包含它自己),产生3个元组,('目录路径','该路径下面的目录名','该路径下面的文件名')。
- "topdown" 是一个可选参数,表示遍历的顺序。如果设为 "True",那么先遍历顶层目录,然后遍历子目录(这是默认的行为)。如果设为 "False",那么先遍历子目录,然后遍历顶层目录。
- "onerror" 是一个可选参数,表示一个错误处理函数。如果提供了这个参数,那么当发生错误时,将调用这个函数。如果没有提供这个参数,那么将忽略错误。
- "followlinks" 是一个可选参数,表示是否遵循符号链接。如果设为 "True",那么将遍历符号链接指向的目录。默认值是 "False"

代码如何实现?

        各位小可爱可以通过以下代码加深对相关函数的理解,在开始具体操作前可以现在桌面建4个文件夹(如下图),其中page7和page8为空文件夹,其余两个文件夹可以随便放一些Excel、txt、png等文件。

# -*- coding: UTF-8 -*-
import os
path='C:\\Users\\Administrator\\Desktop\\page'
path2='C:\\Users\\Administrator\\Desktop\\page2'
path3='C:\\Users\\Administrator\\Desktop\\page2\\OS库.png'
path4='C:\\Users\\Administrator\\Desktop\\page3\\'#不存在的路径
path5='C:\\Users\\Administrator\\Desktop\\page4'#不存在的路径
path6='C:\\Users\\Administrator\\Desktop\\page5'
path7='C:\\Users\\Administrator\\Desktop\\page6'
path8='C:\\Users\\Administrator\\Desktop\\page7'
#print(os.access(path,os.F_OK,effective_ids=False))
#print(os.chmod(path,os.R_OK))
#print(os.getcwdb())
#print(os.link(path3,path4))#创建一个path4
#print(os.listdir(path))
#print(os.lstat(path))
#print(os.mkdir(path5))
#print(os.makedirs(path5))
#print(os.removedirs(path5))
#print(os.rename(path2,path6))
#print(os.renames(path,path6))
#print(os.replace(path,path6))
#print(os.rmdir(path7))
#print(os.scandir(path))
#print(os.stat(path))
#print(os.supports_fd)
#print(os.supports_follow_symlinks)
#print(os.truncate(path8,0))
#print(os.utime(path,times=None))
#print(os.walk(path,topdown=True))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风“流泪”了

您的鼓励将是我创作的不竭动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值