【Python】数据处理:OS目录文件操作

Python的os模块是一个用于与操作系统进行交互的标准库模块。它提供了丰富的功能来处理文件和目录、执行系统命令、获取和设置环境变量等。

工作目录操作

获取当前工作目录

os.getcwd()
  • 参数:无
  • 返回值:一个字符串,表示当前工作目录的路径。这个路径是Python解释器开始执行脚本时所在的目录,或者是最后通过 os.chdir(path) 函数改变的目录。

改变当前工作目录

os.chdir(path)
  • 参数:path(必需):一个字符串,指定要更改到的目标目录的路径。

  • 返回值:无

目录操作

创建一个目录

os.mkdir(path,mode,dir_fd)
  • 参数
    • path (str): 要创建的目录路径。
    • mode (int, optional): 指定目录的权限,默认值是 0o777。在某些系统上可能会被 umask 覆盖。
    • dir_fd (optional): 如果提供,此路径相对于 dir_fd 指定的目录
  • 返回值:无

递归创建目录。如果中间的目录不存在,也会一并创建。

os.makedirs(name,mode,exist_ok)
  • 参数
    • name (str): 要创建的目录路径。
    • mode (int, optional): 指定目录的权限,默认值是 0o777。在某些系统上可能会被 umask 覆盖。
    • exist_ok (bool, optional): 如果为 True,当目标目录已经存在时不会引发异常。如果为 False,当目标目录已经存在时会引发 FileExistsError
  • 返回值:无

删除一个目录。该目录必须是空的,否则会引发 OSError 异常。

os.rmdir(path,dir_fd)
  • 参数
    • path (str): 要删除的目录路径。
    • dir_fd (optional): 如果提供,此路径相对于 dir_fd 指定的目录。
  • 返回值:无

递归删除目录。从指定路径开始,依次删除各级目录。如果目录为空,则删除之,直至某个目录非空或所有目录都被删除。

os.removedirs(name)
  • 参数:name (str): 要删除的目录路径。
  • 返回值:无

文件操作

虽然os模块没有直接创建文件的方法,但可以通过open函数创建文件。

open('file.txt', 'w').close()  # 创建一个空文件

删除指定路径的文件。如果路径指向的是一个目录,将引发 IsADirectoryError 异常。

os.remove(path,dir_fd)
  • 参数:
    • path (str): 要删除的文件路径。
    • dir_fd (optional): 如果提供,此路径相对于 dir_fd 指定的目录。
  • 返回值:无

重命名文件或目录

os.rename(src,dst,src_dir_fd,dst_dir_fd)
  • 参数:
    • src (str): 原文件或目录路径。
    • dst (str): 新文件或目录路径。
    • src_dir_fd (optional): 如果提供,src 是相对于 src_dir_fd 指定的目录。
    • dst_dir_fd (optional): 如果提供,dst 是相对于 dst_dir_fd 指定的目录。
  • 返回值:无

文件属性

检查指定的路径是否是一个文件

os.path.isfile(path)
  • 参数:path (str) - 要检查的路径。
  • 返回值:如果路径是一个存在的文件,返回 True;否则返回 False

检查指定的路径是否是一个目录

os.path.isdir(path)
  • 参数:path (str) - 要检查的路径。
  • 返回值:如果路径是一个存在的目录,返回 True;否则返回 False

返回指定路径的文件大小(以字节为单位)

os.path.getsize(path)
  • 参数:path (str) - 要获取大小的文件路径。

  • 返回值:返回文件的大小(以字节为单位)。

获取文件最后修改时间

os.path.getmtime(path)
  • 参数:path (str) - 要获取修改时间的文件路径。

  • 返回值:返回文件最后修改时间的时间戳(自纪元以来的秒数表示,通常是 Unix 时间戳)。

从路径中获取文件名(不包含目录部分)

os.path.basename(path)
  • 参数:path (str) - 要提取文件名的路径。

  • 返回值:返回路径中的文件名部分。

从路径中获取目录名(不包含文件名部分)

os.path.dirname(path)
  • 参数:path (str) - 要提取目录名的路径。

  • 返回值:返回路径中的目录名部分。

路径操作

检查文件或目录是否存在

os.path.exists(path)
  • 参数:path (str) - 要检查的文件或目录路径。

  • 返回值:如果路径存在,返回 True;否则返回 False

将一系列的路径片段解析为绝对路径

path.resolve([...paths])
  • 参数:...paths (string[]):一个或多个路径片段的序列
  • 返回值:一个字符串,该字符串是绝对路径。

方法返回从两路径的相对路径

path.relative(from, to)
  • 参数
    • from (str):起始路径。
    • to (str):目标路径。
  • 返回值:一个字符串,该字符串表示从fromto的相对路径。

连接一个或多个路径组件,返回一个合并后的路径。

os.path.join(path,*paths)
  • 参数
    • path (str) - 基础路径。
    • *paths (str) - 需要连接到基础路径的其他路径组件。
  • 返回值:返回合并后的路径

将路径分割为目录和文件名两部分

os.path.split(path)
  • 参数:path (str) - 要分割的路径。

  • 返回值:返回一个元组,包含目录和文件名两部分。

将路径分割为文件名和扩展名两部分

os.path.splitext(path)
  • 参数:path (str) - 要分割的路径。

  • 返回值:返回一个元组,包含文件名和扩展名两部分。

目录遍历

os.listdir 返回指定目录中的所有文件和目录的名称列表。它不会递归遍历子目录。

os.listdir(path,dir_fd)
  • 参数
    • path (str, optional): 要列出内容的目录路径。如果未指定,默认使用当前工作目录。
    • dir_fd (optional): 如果提供,此路径相对于 dir_fd 指定的目录
  • 返回值:一个包含目录中所有文件和目录名的列表。

os.walk 生成目录树下的所有文件名,递归遍历目录中的所有子目录。它提供了遍历目录树的简单方法

os.walk(top,topdown)
  • 参数
    • top (str): 要遍历的目录树的顶级目录路径
    • topdown (bool, optional): 如果为 True(默认值),则首先遍历顶级目录,否则首先遍历子目录。
  • 返回值:一个生成器,生成一个三元组 (root, dirs, files)
    • root (str): 当前正在遍历的目录的路径。
    • dirs (list): root 目录中子目录的名称列表。
    • files (list): root 目录中非目录的名称列表

示例

请添加图片描述
请添加图片描述

  • 33
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值