目录

第二十三章: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. 获取系统信息并格式化输出

下一章:第二十四章:datetime模块