Python-标准库-os

发布于:2025-07-09 ⋅ 阅读:(18) ⋅ 点赞:(0)

1 需求


2 接口


3 示例


4 参考资料

在 Python 中,os(Operating System)模块是一个非常重要的内置标准库,提供了许多与操作系统进行交互的函数和方法,允许开发者在 Python 程序中执行常见的操作系统任务,像文件和目录操作、进程管理、环境变量访问等 。以下是os模块的详细介绍:

1. 文件操作相关

  • os.open()
    • 功能:以指定模式打开文件,返回文件描述符(一个小整数)。相比内置的open()函数,os.open()更接近系统底层操作。
    • 示例
import os
fd = os.open('test.txt', os.O_RDWR | os.O_CREAT)
os.write(fd, b'This is a test.')
os.close(fd) 
  • os.remove() 或 os.unlink()
    • 功能:删除指定路径的文件。如果文件不存在,会抛出FileNotFoundError异常。
    • 示例
import os
try:
    os.remove('test.txt')
except FileNotFoundError:
    print("文件不存在")
  • os.rename()
    • 功能:重命名文件或目录。如果目标路径已存在,会抛出FileExistsError异常。
    • 示例
import os
os.rename('old_name.txt', 'new_name.txt')

2. 目录操作相关

  • os.mkdir()
    • 功能:创建一个新目录。如果目录已经存在,会抛出FileExistsError异常。
    • 示例
import os
try:
    os.mkdir('new_directory')
except FileExistsError:
    print("目录已存在")
  • os.rmdir()
    • 功能:删除指定的空目录。如果目录不为空或者不存在,会抛出相应的异常。
    • 示例
import os
try:
    os.rmdir('new_directory')
except FileNotFoundError:
    print("目录不存在")
except OSError:
    print("目录非空,无法删除") 
  • os.listdir()
    • 功能:返回指定目录下的所有文件和目录名,以列表形式呈现。
    • 示例
import os
files = os.listdir('.')  # '.' 表示当前目录
for file in files:
    print(file) 
  • os.chdir()
    • 功能:改变当前工作目录到指定路径。
    • 示例
import os
os.chdir('/new/directory/path') 
  • os.walk()
    • 功能:递归遍历目录树,返回一个三元组 (dirpath, dirnames, filenames),分别表示当前目录路径、当前目录下的子目录名列表、当前目录下的文件名列表。
    • 示例
import os
for dirpath, dirnames, filenames in os.walk('.'):
    print(f"当前目录: {dirpath}")
    print(f"子目录: {dirnames}")
    print(f"文件: {filenames}") 

3. 进程管理相关

  • os.system()
    • 功能:在子 shell 中执行指定的命令,并返回命令的退出状态码。该方法简单易用,但无法获取命令的输出内容。
    • 示例
import os
return_code = os.system('ls -l')
print(f"命令执行的返回码: {return_code}") 
  • os.popen()
    • 功能:在子 shell 中执行命令,返回一个文件对象,可以通过该对象读取命令的输出内容。
    • 示例
import os
result = os.popen('ls -l').read()
print(result) 
  • os.fork() (仅限 Unix/Linux 系统)
    • 功能:创建一个子进程,父进程和子进程从 os.fork() 调用点开始分别执行不同的代码分支。父进程返回子进程的进程 ID,子进程返回 0。
    • 示例
import os
pid = os.fork()
if pid == 0:
    print("我是子进程")
else:
    print(f"我是父进程,子进程ID是 {pid}") 

4. 环境变量相关

  • os.environ
    • 功能:一个包含系统环境变量的字典,可以通过键值对的方式访问和修改环境变量。
    • 示例
import os
print(os.environ.get('PATH'))  # 获取PATH环境变量
os.environ['NEW_VARIABLE'] = 'value'  # 设置新的环境变量 

5. 其他常用功能

  • os.getpid()
    • 功能:返回当前进程的 ID。
    • 示例
import os
print(f"当前进程ID: {os.getpid()}") 
  • os.name
    • 功能:返回当前使用的操作系统名称。在 Unix/Linux 系统上返回 'posix',在 Windows 系统上返回 'nt'
    • 示例
import os
print(f"当前操作系统名称: {os.name}") 

os模块是 Python 进行操作系统层面交互的重要工具,能帮助开发者实现跨平台的系统操作,提升程序的实用性和灵活性。