====== 第二十三章:os与sys模块 ======
===== 本章目标 =====
完成本章学习后,你将能够:
* 使用os模块进行系统操作
* 使用sys模块获取系统信息
* 理解环境变量和命令行参数
===== os模块 =====
==== 文件和目录操作 ====
import os
# 获取当前目录
print(os.getcwd())
# 改变目录
os.chdir('/path/to/dir')
# 列出目录内容
print(os.listdir('.'))
# 创建目录
os.mkdir('new_dir')
os.makedirs('a/b/c', exist_ok=True)
# 删除
os.remove('file.txt') # 删除文件
os.rmdir('empty_dir') # 删除空目录
# 重命名
os.rename('old.txt', 'new.txt')
==== 路径操作 ====
import os.path
# 常用函数
os.path.abspath('file.txt') # 绝对路径
os.path.basename('/a/b/c.txt') # c.txt
os.path.dirname('/a/b/c.txt') # /a/b
os.path.exists('file.txt') # 是否存在
os.path.isfile('file.txt') # 是否是文件
os.path.isdir('directory') # 是否是目录
os.path.join('a', 'b', 'c.txt') # a/b/c.txt
os.path.splitext('file.txt') # ('file', '.txt')
os.path.getsize('file.txt') # 文件大小
===== sys模块 =====
import sys
# 命令行参数
print(sys.argv) # ['script.py', 'arg1', 'arg2']
# 退出程序
sys.exit(0) # 成功
sys.exit(1) # 错误
# 路径
print(sys.path) # 模块搜索路径
sys.path.append('/custom/path')
# 平台信息
print(sys.platform) # win32, linux, darwin
print(sys.version) # Python版本信息
# 标准输入输出
sys.stdin
sys.stdout
sys.stderr
===== 环境变量 =====
import os
# 获取
print(os.environ.get('HOME'))
print(os.environ.get('PATH'))
# 设置
os.environ['MY_VAR'] = 'value'
# 获取所有
for key, value in os.environ.items():
print(f"{key}={value}")
===== 本章练习 =====
1. 实现跨平台的文件操作工具
2. 解析命令行参数
3. 获取系统信息并格式化输出
下一章:[[python_course:chapter24|第二十四章:datetime模块]]