os 模块是 Python 的标准库的一部分,用于提供与操作系统相关的一些函数和变量。它包含用于处理文件和目录、环境变量、执行命令和获取系统信息的函数。
以下是一些 os 模块中最常用的方法:
文件和目录操作:
- os.path.join(): 用于连接多个路径名。
- os.getcwd(): 获取当前工作目录。
- os.chdir(): 改变当前工作目录。
- os.makedirs(): 创建多层目录。
- os.remove(): 删除文件。
- os.rmdir(): 删除空目录。
- os.rename(): 重命名文件或目录。
- os.walk(): 遍历目录树。
- os.stat(): 获取文件或目录的状态信息。
- os.path.exists(): 检查文件或目录是否存在。
- os.path.isdir(): 检查路径是否为目录。
- os.path.isfile(): 检查路径是否为文件。
- os.path.getsize(): 获取文件的大小。
- os.path.getmtime(): 获取文件或目录的最后修改时间。
环境变量:
- os.environ: 获取当前环境变量的字典。
- os.getenv(): 获取指定环境变量的值。
- os.putenv(): 设置或修改环境变量的值。
执行命令:
- os.system(): 执行 shell 命令并等待其完成。
- os.popen(): 打开一个管道,用于与子进程进行通信。
- os.spawn():创建新进程并执行指定程序。
系统信息:
- os.name: 获取操作系统的名称。
- os.uname(): 获取有关操作系统的信息。
- os.getpid(): 获取当前进程的 ID。
- os.getuid(): 获取当前用户的 ID。
- os.geteuid(): 获取当前进程的有效用户 ID。
- os.getgid(): 获取当前用户的组 ID。
- os.getegid(): 获取当前进程的有效组 ID。
其他:
- os.urandom(): 生成随机字节。
- os.times(): 获取系统资源使用情况。
- os.path.abspath(): 获取路径的绝对路径。
- os.path.normpath(): 标准化路径名。
- os.path.expanduser(): 扩展用户目录路径。
- os.path.expandvars(): 扩展环境变量引用。
使用示例
以下是一些 os 模块常见方法的使用示例:
获取当前工作目录:
import os
current_dir = os.getcwd()
print(current_dir)
创建多层目录:
import os
os.makedirs("/path/to/my/directory")
删除文件:
import os
os.remove("myfile.txt")
遍历目录树:
import os
def walk_dir(path):
for dirpath, dirnames, filenames in os.walk(path):
print(f"Directory: {dirpath}")
for filename in filenames:
print(f"File: {os.path.join(dirpath, filename)}")
walk_dir("/path/to/my/directory")
获取环境变量的值:
import os
home_dir = os.getenv("HOME")
print(home_dir)
执行 shell 命令:
import os
os.system("ls -lh /path/to/my/directory")
获取当前进程的 ID:
import os
pid = os.getpid()
print(pid)