Python 使用 os 模块操作文件和目录

文摘   科技   2024-11-09 21:37   上海  

点击蓝字,关注山海摸鱼人

目录:

  1. 获取和改变当前工作目录
  2. os 模块目录操作
  3. os 模块删除目录
  4. os 模块重命名目录

os 模块提供了丰富的函数用于处理操作系统中的文件和目录。

相关阅读:Python os.path 模块详解

以下是与目录操作相关的一些常用函数及其简要说明:

获取和改变当前工作目录

  • os.getcwd():获取当前工作目录的路径。
  • os.chdir(path):改变当前工作目录至给定的路径 path
  • os.fchdir(fd):根据文件描述符 fd 改变当前工作目录。这个函数与 os.chdir() 类似,但是它是基于已打开的文件描述符来定位目录的。

示例:

import os
print(os.getcwd())  # 输出当前工作目录
os.chdir('../shanhai')  # 改变当前工作目录
print(os.getcwd())  # 再次输出当前工作目录,显示已更改

os 模块目录操作

  • os.chroot(path):改变当前进程的根目录为 path。这主要用于安全目的,限制进程只能访问指定的目录树。
  • os.listdir(path):列出 path 目录下的所有文件和子目录名。
  • os.mkdir(path[, mode]):创建一个新的目录 path,可选参数 mode 指定目录的权限模式。
  • os.makedirs(path[, mode]):递归地创建多级目录,如果父目录不存在也会一并创建。

示例:

import os
os.mkdir('my_dir'0o755)  # 创建单级目录
os.makedirs('abc/xyz/shanhai'0o755)  # 创建多级目录

os 模块删除目录

  • os.rmdir(path):删除空目录 path。如果目录非空,则会引发异常。
  • os.removedirs(path):递归地删除多级空目录,从最深层开始逐层删除直到无法继续为止。

示例:

import os
os.rmdir('my_dir')  # 删除单级空目录
os.removedirs('abc/xyz/shanhai')  # 删除多级空目录

os 模块重命名目录

  • os.rename(src, dst):将目录或文件 src 重命名为 dst
  • os.renames(old, new):递归地重命名目录或文件,从底层开始逐层重命名。

示例:

import os
os.rename('my_dir''your_dir')  # 单级目录重命名
os.renames('abc/xyz/shanhai''foo/moyu/haha')  # 多级目录重命名

山海摸鱼人
致力于记录美好之瞬间,追寻美好之明天。
 最新文章