Python OS模块常用方法总结
·
OS模块是Python中用于与操作系统交互的标准库模块,提供了许多有用的函数来操作文件和目录。以下是在Windows 11系统上使用Python 3.10的常用方法演示:
1. 文件和目录操作
import os
# 获取当前工作目录
current_dir = os.getcwd()
print(f"当前工作目录: {current_dir}")
# 改变当前工作目录
os.chdir('C:\\')
print(f"改变后的工作目录: {os.getcwd()}")
os.chdir(current_dir) # 改回来
# 列出目录内容
print("\n当前目录内容:")
for item in os.listdir():
print(item)
# 创建目录
os.makedirs('test_dir/sub_dir', exist_ok=True)
print("\n已创建 test_dir/sub_dir")
# 删除目录
os.removedirs('test_dir/sub_dir')
print("已删除 test_dir/sub_dir")
2. 路径操作
# 路径拼接
path = os.path.join('folder', 'subfolder', 'file.txt')
print(f"\n拼接后的路径: {path}")
# 路径拆分
dir_name, file_name = os.path.split(path)
print(f"目录部分: {dir_name}, 文件名部分: {file_name}")
# 获取文件扩展名
print(f"文件扩展名: {os.path.splitext(file_name)[1]}")
# 检查路径是否存在
print(f"\n路径存在: {os.path.exists('C:\\Windows')}")
print(f"是文件: {os.path.isfile('C:\\Windows\\notepad.exe')}")
print(f"是目录: {os.path.isdir('C:\\Windows')}")
3. 文件属性操作
# 获取文件大小 (字节)
file_size = os.path.getsize('C:\\Windows\\notepad.exe')
print(f"\nnotepad.exe 大小: {file_size} 字节")
# 获取文件修改时间 (时间戳)
mtime = os.path.getmtime('C:\\Windows\\notepad.exe')
from datetime import datetime
print(f"最后修改时间: {datetime.fromtimestamp(mtime)}")
# 修改文件权限 (Windows上有限)
os.chmod('test.txt', 0o777) # 设置权限为777
4. 进程和环境变量
# 获取环境变量
print(f"\nPATH环境变量: {os.getenv('PATH')}")
# 设置环境变量 (仅在当前进程有效)
os.environ['MY_VAR'] = 'test_value'
print(f"自定义环境变量: {os.getenv('MY_VAR')}")
# 执行系统命令
print("\n执行dir命令:")
os.system('dir') # 在Windows上执行dir命令
# 启动新进程
print("\n启动记事本:")
os.startfile('notepad.exe') # Windows特有方法
5. 文件和目录遍历
# 递归遍历目录
print("\n递归遍历目录:")
for root, dirs, files in os.walk('.'):
print(f"当前目录: {root}")
print(f"子目录: {dirs}")
print(f"文件: {files}\n")
6. 其他实用方法
# 获取操作系统名称
print(f"\n操作系统: {os.name}") # Windows上是'nt'
# 获取登录用户名
print(f"当前用户名: {os.getlogin()}")
# 获取CPU核心数
print(f"CPU核心数: {os.cpu_count()}")
# 获取临时目录
print(f"临时目录: {os.environ['TEMP']}")
# 获取文件绝对路径
print(f"绝对路径: {os.path.abspath('test.txt')}")
# 规范化路径 (处理./和../等)
print(f"规范化路径: {os.path.normpath('folder/../file.txt')}")
注意事项
-
Windows路径使用反斜杠
\`,但在Python字符串中需要转义为\或使用原始字符串r'C:\path'` -
文件操作可能需要管理员权限
-
操作前最好检查路径是否存在,避免异常
-
删除操作要谨慎,特别是
os.removedirs()会递归删除空目录
以上代码在Windows 11 + Python 3.10环境下测试通过,可以根据实际需求调整使用。
更多推荐

所有评论(0)