Python操作系统交互核心:os模块完全指南

一、模块定位

os 模块是 Python 标准库中用于与操作系统进行交互的核心模块,提供跨平台的操作系统接口功能,主要用于:

  • 文件和目录操作
  • 进程管理
  • 环境变量管理
  • 路径操作
  • 系统信息获取

二、核心功能详解

1. 路径操作 os.path

功能说明
提供跨平台的路径操作函数,用于处理文件路径字符串。

常用函数

  • os.path.join(path1, path2, ...):智能拼接路径,自动处理不同操作系统的路径分隔符
  • os.path.abspath(path):获取绝对路径
  • os.path.dirname(path):获取目录名
  • os.path.basename(path):获取文件名
  • os.path.exists(path):检查路径是否存在
  • os.path.isfile(path):检查是否为文件
  • os.path.isdir(path):检查是否为目录
  • os.path.split(path):分割路径为目录和文件名
  • os.path.splitext(path):分割路径为文件名和扩展名
  • os.path.getsize(path):获取文件大小(字节)
  • os.path.getmtime(path):获取文件修改时间(时间戳)

示例

import os

# 路径拼接
path = os.path.join('dir', 'subdir', 'file.txt')
print(path)  # 输出: dir/subdir/file.txt (Linux) 或 dir\subdir\file.txt (Windows)

# 获取文件信息
if os.path.isfile(path):
    print(f"文件大小: {
     os.path.getsize(path)} 字节")
    print(f"最后修改时间: {
     os.path.getmtime(path)}")

2. 文件和目录管理

功能说明
提供文件和目录的创建、删除、遍历等操作。

常用函数

  • os.mkdir(path):创建目录
  • os.makedirs(path):递归创建目录树
  • os.remove(path):删除文件
  • os.rmdir(path):删除空目录
  • os.removedirs(path):递归删除空目录
  • os.listdir(path):列出目录内容
  • os.rename(src, dst):重命名文件或目录
  • os.walk(top):遍历目录树

示例

import os

# 创建目录结构
os.makedirs('project/src', exist_ok=True)

# 创建文件
with open('project/src/main.py', 'w') as f:
    f.write('print("Hello World")')

# 遍历目录
for root, dirs, files in os.walk('project'):
    print(f"当前目录: {
     root}")
    print(f"子目录: {
     dirs}")
    print(f"文件: {
     files}")

# 删除文件
os.remove('project/src/main.py')

3. 进程管理

功能说明
管理进程,执行系统命令。

常用函数

  • os.system(command):执行系统命令
  • os.popen(command, mode):执行命令并返回文件对象
  • os.startfile(path):使用关联程序打开文件(Windows)
  • os.kill(pid, sig):发送信号给进程(Unix)
  • os.getpid():获取当前进程ID
  • os.getppid():获取父进程ID

示例

import os

# 执行系统命令
os.system('echo "Hello from the shell"')

# 获取命令输出
with os.popen('ls -l') as f:
    print(f.read())

# 获取当前进程ID
print(f"当前进程ID: {
     os.getpid()}")

4. 环境变量管理

功能说明
访问和修改环境变量。

常用函数

  • os.environ:环境变量字典
  • os.getenv(key, default=None):获取环境变量值
  • os.putenv(key, value):设置环境变量

示例

import os

# 获取环境变量
home = os.getenv('HOME')
print(f"家目录: {
     home}")

# 设置环境变量
os.environ['MY_VAR'] = 'my_value'
print(os.getenv('MY_VAR'))  # 输出: my_value

5. 系统信息获取

功能说明
获取操作系统相关信息。

常用函数

  • os.name:操作系统名称(‘posix’, ‘nt’, ‘java’)
  • os.uname():获取系统信息(Unix)
  • os.cpu_count():返回CPU数量
  • os.getlogin():返回登录用户名
  • os.urandom(n):返回n字节的随机字节

示例

import os

# 操作系统类型
print(f"操作系统: {
     os.name}")  # 在Windows上是'nt',在Linux上是'posix'

# CPU数量
print(f"CPU核心数: {
     os.cpu_count()}")

# 生成安全随机数
random_bytes = os.urandom(16)
print(f"安全随机数: {
     random_bytes

你可能感兴趣的:(python,#,函数与模块,python,标准库,系统编程,文件系统操作,os模块,内置模块)