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 中轻松实现跨平台的操作系统级任务。