os
Python 的 os
模块提供了与操作系统交互的功能,包括文件和目录操作、环境变量管理、进程管理等。以下是对 os
模块的详细介绍,包括其主要功能和常用方法。通过这个模块,Python 可以与操作系统进行有效的交互,处理各种系统级的任务。对于更复杂的文件操作,os
模块通常与 shutil
模块结合使用。
主要功能
1. 文件和目录操作
获取当前工作目录
os.getcwd()
: 返回当前工作目录的绝对路径。
pythonimport os current_dir = os.getcwd() print(current_dir) # 输出当前工作目录
1
2
3
4改变当前工作目录
os.chdir(path)
: 改变当前工作目录到指定路径。- 不返回任何内容
pythonos.chdir('/path/to/directory')
1列出目录中的文件和子目录
os.listdir(path)
: 返回指定目录中的文件和目录列表。- 返回
list
pythonfiles = os.listdir('.') print(files) # 输出当前目录下的文件和子目录 ['.idea', 'main.py']
1
2创建和删除目录
os.mkdir(path)
: 创建一个新目录。- 不返回任何内容
os.rmdir(path)
: 删除一个空目录。- 不返回任何内容
- 如果没有该目录则会报错
pythonos.mkdir('new_folder') # 创建新目录 os.rmdir('new_folder') # 删除目录
1
2删除文件
os.remove(path)
: 删除指定文件。
pythonos.remove('file.txt') # 删除文件
1重命名文件或目录
os.rename(old_name, new_name)
: 重命名文件或目录。
pythonos.rename('old_name.txt', 'new_name.txt') # 重命名文件
1
2. 路径操作
路径拼接
os.path.join(path, *paths)
: 将一个或多个路径组合成一个路径。
pythonfull_path = os.path.join('folder', 'file.txt') print(full_path) # 输出 'folder/file.txt'(在Windows上为 'folder\file.txt')
1
2获取文件名和目录名
os.path.basename(path)
: 返回路径中的文件名。os.path.dirname(path)
: 返回路径中的目录名。
pythonprint(os.path.basename('/path/to/file.txt')) # 输出 'file.txt' print(os.path.dirname('/path/to/file.txt')) # 输出 '/path/to'
1
2检查路径是否存在
os.path.exists(path)
: 检查指定路径是否存在。os.path.isfile(path)
: 检查路径是否为文件。os.path.isdir(path)
: 检查路径是否为目录。
pythonprint(os.path.exists('file.txt')) # 输出 True 或 False
1
3. 环境变量
获取和设置环境变量
os.environ
: 字典形式的环境变量。os.getenv(key)
: 获取指定环境变量的值。os.putenv(key, value)
: 设置环境变量。
pythonprint(os.getenv('HOME')) # 输出 HOME 环境变量的值
1
4. 进程管理
获取当前进程ID
os.getpid()
: 返回当前进程的 ID。
pythonprint(os.getpid()) # 输出当前进程的 ID
1执行系统命令
os.system(command)
: 执行系统命令。
pythonos.system('ls') # 在类Unix系统上列出目录内容
1
示例
创建和遍历目录
python
import os
# 创建新目录
os.mkdir('example_dir')
# 遍历目录
for file in os.listdir('example_dir'):
print(file)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
处理文件路径
python
import os
file_path = os.path.join('example_dir', 'file.txt')
print(file_path) # 输出 'example_dir/file.txt'
1
2
3
4
2
3
4