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