os:访问和操作操作系统
2025-02-17
Python 的 os 模块提供了访问和操作操作系统的功能。它包含了许多函数和变量,可以用于处理文件、目录、环境变量等。
1. 基础使用
1.1 模块导入
要使用 os 模块,首先需要导入它:
import os1.2 工作目录操作
# 获取当前工作目录
>>> os.getcwd()
'/home/user'
# 设置当前工作目录
>>> os.chdir('/tmp')
>>> os.getcwd()
'/tmp'2. 目录操作
2.1 目录的创建与删除
# 创建目录
>>> os.mkdir('my_dir')
# 删除空目录
>>> os.rmdir('my_dir')2.2 目录内容管理
# 列出目录内容
>>> os.listdir('.')
['.bashrc', '.profile', '.git', 'README.md']3. 文件操作
3.1 文件基本操作
# 创建和写入文件
>>> with open('new_file.txt', 'w') as f:
f.write('Hello, world!')
# 读取文件
>>> with open('new_file.txt', 'r') as f:
contents = f.read()
# 删除文件
>>> os.remove('new_file.txt')3.2 文件信息查询
# 获取文件大小
>>> os.path.getsize('README.md')
252
# 判断文件是否存在
>>> os.path.exists('README.md')
True3.3 文件权限与所有者
# 修改文件权限
>>> os.chmod('README.md', 0o777)
# 获取文件信息(包括所有者和组)
>>> stat = os.stat('README.md')
>>> stat.st_uid # 所有者ID
1000
>>> stat.st_gid # 组ID
10004. 环境变量操作
# 获取环境变量
>>> os.environ['HOME']
'/home/user'
# 设置环境变量
>>> os.environ['PATH'] = '/usr/bin:/bin'5. 路径操作
5.1 路径遍历
# 遍历目录树
for dirpath, dirnames, filenames in os.walk('/home/user'):
for filename in filenames:
print(os.path.join(dirpath, filename))5.2 路径处理
# 获取目录名
>>> file_path = "/home/user/project/script.py"
>>> directory = os.path.dirname(file_path)
>>> print(directory) # 输出: /home/user/project
# 获取相对路径
>>> path1 = "/home/user/data/file1.txt"
>>> path2 = "/home/user/data"
>>> rel_path = os.path.relpath(path1, path2)
>>> print(rel_path) # 输出: file1.txt总结
os 模块提供了丰富的操作系统接口,主要功能包括:
- 文件和目录操作
- 路径处理
- 环境变量管理
- 进程和权限控制
更多信息请参考 Python 官方文档