Python的文件操作(2)
Python os 模块简介
Python 的 os 模块提供了一种使用操作系统特定功能的便携式方式。它允许我们执行许多常见的操作系统任务,如文件和目录操作、环境变量管理、进程管理等。os 模块是 Python 标准库的一部分,因此不需要额外安装即可使用。
导入 os 模块
要使用 os 模块中的函数和属性,首先需要导入模块:
1 | |
或者,如果只需要使用 os 模块中的某些特定功能,可以按需导入:
1 | |
文件和目录操作
获取当前工作目录
使用 os.getcwd() 函数可以获得当前的工作目录路径。
1 | |
改变当前工作目录
使用 os.chdir(path) 可以改变当前的工作目录到指定路径。
1 | |
列出目录内容
使用 os.listdir(path) 可以列出指定目录下的所有文件和子目录名称。
1 | |
创建目录
- 使用
os.mkdir(path)创建一个新目录。 - 使用
os.makedirs(path)创建一个目录,包括任何必要的中间目录(递归创建)。
1 | |
删除目录
- 使用
os.rmdir(path)删除一个空目录。 - 使用
os.removedirs(path)递归删除空目录链。
1 | |
移动或重命名文件/目录
使用 os.rename(old_path, new_path) 可以移动或重命名文件或目录。
1 | |
删除文件
使用 os.remove(path) 或 os.unlink(path) 可以删除文件。
1 | |
检查文件或目录是否存在
使用 os.path.exists(path) 来检查文件或目录是否存在。
1 | |
检查路径是目录还是文件
使用 os.path.isdir(path) 或os.path.isfile(path)函数判断路径是目录还是文件
环境变量
获取环境变量
使用 os.getenv(key, default=None) 获取环境变量的值。如果指定了默认值并且环境变量不存在,则返回默认值。
1 | |
设置环境变量
在某些情况下,你可以使用 os.environ 字典来设置或修改环境变量。请注意,这些更改只在当前进程中有效,并且不会影响系统的环境变量。
1 | |
进程管理
执行系统命令
使用 os.system(command) 可以执行一个系统命令并返回命令的退出状态。
1 | |
启动新进程
对于更复杂的进程管理,可以使用 subprocess 模块,它是 os 模块中类似功能的更强大替代品。subprocess 提供了更好的控制力和灵活性,例如可以通过管道与子进程通信。
路径操作
os.path 子模块提供了处理文件路径的函数。这里有几个常用的例子:
os.path.join(path, *paths)- 将多个路径组合成一个。os.path.basename(path)- 返回路径的基本名称(即最后一个组件)。os.path.dirname(path)- 返回路径的目录名部分。os.path.split(path)- 将路径分割为一对 (头, 尾)。os.path.splitext(path)- 分离文件名和扩展名。os.path.abspath(path)- 返回绝对路径。os.path.normpath(path)- 规范化路径,消除冗余分隔符和上层引用。
示例
1 | |
总结
os 模块是一个非常强大的工具,它使我们可以方便地与操作系统进行交互。从简单的文件和目录操作到复杂的环境变量管理和进程控制,os 模块都能提供相应的支持。如果你需要更高级的功能,比如启动和管理子进程,那么应该考虑使用 subprocess 模块。通过掌握 os 模块,你可以在 Python 中轻松实现跨平台的操作系统级任务。