Python 的 os 库介绍
Python 的 os
模块是一个提供了许多与操作系统交互的函数的模块。它可以让我们执行与操作系统相关的任务,比如文件和目录操作、进程管理等。在本文中,我们将详细介绍 os 模块的功能和用法,并提供一些示例代码。
1. 获取当前工作目录
使用 os.getcwd()
函数可以获取当前工作目录的路径。下面是示例代码:
import os
current_dir = os.getcwd()
print("当前工作目录: ", current_dir)
2. 切换工作目录
使用 os.chdir()
函数可以将当前工作目录更改为指定的目录。下面是示例代码:
import os
os.chdir('/path/to/new/directory')
print("当前工作目录已更改.")
3. 列出目录中的文件和子目录
使用 os.listdir()
函数可以返回指定目录中的文件和子目录列表。下面是示例代码:
import os
file_list = os.listdir('/path/to/directory')
print("目录中的文件和子目录列表: ", file_list)
4. 创建目录
使用 os.mkdir()
函数可以创建一个目录。下面是示例代码:
import os
os.mkdir('/path/to/new/directory')
print("新目录已创建.")
5. 删除目录
使用 os.rmdir()
函数可以删除指定的空目录。下面是示例代码:
import os
os.rmdir('/path/to/empty/directory')
print("空目录已删除.")
6. 删除文件
使用 os.remove()
函数可以删除指定的文件。下面是示例代码:
import os
os.remove('/path/to/file')
print("文件已删除.")
7. 获取当前进程 ID
使用 os.getpid()
函数可以获取当前进程的 ID。下面是示例代码:
import os
pid = os.getpid()
print("当前进程的 ID: ", pid)
8. 在 UNIX 系统中创建子进程
使用 os.fork()
函数可以在 UNIX 系统中创建一个新的子进程。下面是示例代码:
import os
child_pid = os.fork()
if child_pid == 0:
print("子进程, ID: ", os.getpid())
else:
print("父进程, ID: ", os.getpid())
9. 执行可执行文件
使用 os.execv()
函数可以在当前进程中执行指定的可执行文件。下面是示例代码:
import os
os.execv("/path/to/executable", ["arg1", "arg2"])
10. 向进程发送信号
使用 os.kill()
函数可以向指定的进程发送指定的信号。下面是示例代码:
import os
import signal
pid = os.getpid()
os.kill(pid, signal.SIGKILL)
11. 常用的其他函数
除了上述介绍的功能之外,os
模块还有许多其他的函数可以用于操作系统交互,比如:
os.environ
:一个包含当前环境变量的字典。os.system(command)
:在当前进程中执行指定的 shell 命令。os.path
:一个包含许多用于处理文件路径的函数的模块。
下面是这些函数的示例代码:
import os
import sys
# 输出当前环境变量
print("环境变量: ", os.environ)
# 在当前进程中执行指定的 shell 命令
os.system("ls -l")
# 处理文件路径
path = "/path/to/file"
print("Path basename: ", os.path.basename(path))
print("Path dirname: ", os.path.dirname(path))
print("Path split: ", os.path.split(path))
print("Path join: ", os.path.join("/path/to", "file"))
print("Path exists: ", os.path.exists(path))
12. 环境变量
os
模块还提供了访问和修改系统环境变量的功能。可以使用 os.environ
字典来访问当前环境变量。下面是示例代码:
import os
# 获取当前环境变量
env_vars = os.environ
print("当前环境变量: ", env_vars)
# 获取特定环境变量的值
path_var = env_vars['PATH']
print("PATH 环境变量值: ", path_var)
# 设置环境变量
os.environ['MY_VAR'] = 'my_value'
print("已设置环境变量 MY_VAR 的值为 my_value")
# 检查环境变量是否存在
if 'MY_VAR' in os.environ:
print("环境变量 MY_VAR 存在")
else:
print("环境变量 MY_VAR 不存在")
13. 执行系统命令
os
模块提供了执行系统命令的功能。可以使用 os.system()
函数来执行指定的命令,并在终端上显示结果。下面是示例代码:
import os
# 执行系统命令
os.system("ls -l")
14. 文件路径操作
os.path
模块提供了许多用于处理文件路径的函数。可以使用这些函数来操作文件路径,比如获取文件名、目录名,拼接路径等。下面是示例代码:
import os
file_path = '/path/to/file.txt'
# 获取文件名
file_name = os.path.basename(file_path)
print("文件名: ", file_name)
# 获取目录名
dir_name = os.path.dirname(file_path)
print("目录名: ", dir_name)
# 拼接路径
new_path = os.path.join("/path/to", "new_file.txt")
print("新路径: ", new_path)
# 检查路径是否存在
exists = os.path.exists(file_path)
print("路径是否存在: ", exists)