网易首页 > 网易号 > 正文 申请入驻

Python 库手册:os 操作系统模块

0
分享至

os 模块是 Python 标准库中用于访问操作系统功能的接口。它提供了一系列函数,可用于文件系统操作、路径管理、环境变量访问、进程控制等,是编写跨平台脚本的重要工具。

常见应用场景:

(1)获取或修改当前工作目录。

(2)文件和目录的创建、重命名、删除。

(3)遍历目录结构,获取文件状态信息。

(4)获取或设置环境变量。

(5)执行系统命令。若需执行命令更灵活推荐 subprocess。

(6)获取系统资源信息(如 CPU 核心数)、控制进程退出等。

◆ ◆

核心概念

1、os 模块封装了底层系统调用,适合跨平台文件系统操作。

2、它通常配合 子模块完成路径拼接与判断。

3、由于 os 提供的是面向过程的 API,Python 3.4 起推荐的新风格为面向对象的 pathlib,但 os 在实际工程中仍然广泛使用。

4、操作系统级的所有行为(路径、权限、进程、环境)大多能通过 os 实现。

◆ ◆

应用举例

例 1:获取当前工作目录

import os

print("当前目录是:", os.getcwd())

例 2:创建与删除目录

import os

os.mkdir("my_folder")
os.rmdir("my_folder")  # 注意:只能删除空目录

例 3:列出目录内容

import os

for name in os.listdir("."):
    print(name)

例 4:执行系统命令

import os

os.system("echo Hello from mediaTEA")

例 5:递归遍历目录

import os

for dirpath, dirnames, filenames in os.walk("."):
    print("目录:", dirpath)
    print("子目录:", dirnames)
    print("文件:", filenames)

例 6:获取 CPU 核心数

import os

print("CPU 核心数:", os.cpu_count())

例 7:获取当前进程 ID 并退出进程

import os

print("当前进程 PID:", os.getpid())
os._exit(0)  # 强制退出进程(不会执行 finally)

◆ ◆

常用函数速览

os._exit(code)

强制退出当前进程,不进行异常处理或清理。

参数:code 为整数,退出码(0 表示正常退出)

返回:None

说明:常用于子进程内部终止。

os.access(path, mode)

判断当前用户是否对路径具有指定的权限。

参数

path:路径(字符串)

mode:权限常量之一,如 os.R_OK, os.W_OK, os.X_OK, os.F_OK

返回:布尔值,True 表示有权限

示例:

os.access('file.txt', os.W_OK) 判断是否可写。

os.chdir(path)

更改当前工作目录。

参数:path 为目标路径字符串

返回:None

os.chmod(path, mode)

修改文件或目录的权限。

参数

path:路径

mode:整数形式权限值,如 0o755

返回:None

说明:仅限类 Unix 系统;需具备权限。

os.chown(path, uid, gid)

更改文件或目录的所有者与所属组(仅类 Unix)。

参数

path:路径字符串

uid:用户 ID

gid:组 ID

返回:None

说明:通常需 root 权限。

os.cpu_count()

获取系统的逻辑 CPU 核心数。

参数:无

返回:整数或 None(失败时)

os.environ

环境变量映射对象。可作为字典访问或修改变量。

用法:os.environ['PATH'], os.environ.get('HOME')

返回:环境变量字典

os.execvp(file, args)

用新程序替换当前进程(执行系统命令)。

参数

file:命令或可执行文件名

args:参数列表(含命令本身)

返回:无(调用成功后不会返回)

说明:属于 exec* 系列的一种,适合查找命令路径。

os.getcwd()

获取当前工作目录路径。

参数:无

返回:字符串。

os.getgid()

获取当前进程的组 ID(仅类 Unix)。

参数:无

返回:整数 GID

os.getlogin()

获取当前登录用户名(终端会话用户)。

参数:无

返回:字符串

说明:某些平台或环境中可能失败。

os.getpid()

获取当前进程 ID。

参数:无

返回:整数 PID

os.getppid()

获取当前进程的父进程 ID。

参数:无

返回:整数 PID

os.getuid()

获取当前进程的用户 ID(仅类 Unix)。

参数:无

返回:整数 UID

os.listdir(path=".")

列出指定目录下的所有文件和文件夹名称。

参数:path 字符串,默认为当前目录

返回:列表

os.mkdir(path)

创建单层目录。

参数:path 路径字符串

返回:None

os.makedirs(path, exist_ok=False)

递归创建多层目录。

参数

path:路径字符串

exist_ok:若为 True,存在也不报错

返回:None

os.name

返回当前操作系统平台类型。

返回

'posix'(Unix/Linux/macOS)

'nt'(Windows)

'java'(Jython)

os.remove(path)

删除文件。

参数:path 为文件路径字符串

返回:None

异常:若路径非文件或不存在,将报错。

os.rename(src, dst)

重命名文件或目录。

参数

src:原路径

dst:新路径

返回:None

os.rmdir(path)

删除空目录。

参数:path 为路径字符串

返回:None。

os.stat(path)

获取路径的详细信息(大小、修改时间、权限等)。

参数:path 字符串

返回:os.stat_result 对象

os.system(command)

在子终端中执行系统命令。

参数:command 字符串(如 "ls -l")

返回:命令的退出状态码(整数)

os.umask(mask)

设置当前进程的默认权限屏蔽码。

参数:mask 为八进制整数,如 0o022

返回:原先的 umask 值

os.uname()

返回当前操作系统的详细信息(仅类 Unix)。

参数:无

返回:命名元组,包含 sysname, nodename, release, version, machine

os.walk(top)

递归遍历目录树,生成三元组 (dirpath, dirnames, filenames)。

参数:top 起始目录路径

返回:生成器,用于遍历所有文件与子目录

点赞有美意,赞赏是鼓励

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
英媒:中国测试DUV光刻机?黄仁勋破防表示失望,美国做了最坏打算

英媒:中国测试DUV光刻机?黄仁勋破防表示失望,美国做了最坏打算

今墨缘
2025-09-19 11:59:00
全是预制菜的萨莉亚,为什么没人骂?网友:不敢骂,骂倒闭了、

全是预制菜的萨莉亚,为什么没人骂?网友:不敢骂,骂倒闭了、

狐狸先森讲升学规划
2025-09-17 21:25:02
普京不怕北约宣战了,14亿人口大国派兵俄罗斯,锆石击毁沿海目标

普京不怕北约宣战了,14亿人口大国派兵俄罗斯,锆石击毁沿海目标

健身狂人
2025-09-19 11:19:38
《731》全球上映仅1天,网上差评不断,央视发文力挺,句句戳心

《731》全球上映仅1天,网上差评不断,央视发文力挺,句句戳心

白面书誏
2025-09-19 13:07:48
浙江人注意!西湖知名景点将于9月20日起关闭,计划年底前重新迎客

浙江人注意!西湖知名景点将于9月20日起关闭,计划年底前重新迎客

FM93浙江交通之声
2025-09-19 11:51:01
女护士处理男患者隐私部位,会感觉难为情吗?美女护士说出大实话

女护士处理男患者隐私部位,会感觉难为情吗?美女护士说出大实话

第7情感
2025-09-17 12:12:15
德国蔡司:DUV光刻机比EUV光刻机重要,美国的错误制裁,让中国成为了芯片市场的最大赢家

德国蔡司:DUV光刻机比EUV光刻机重要,美国的错误制裁,让中国成为了芯片市场的最大赢家

逍遥漠
2025-09-18 19:13:29
拉夫罗夫:俄愿意有条件妥协

拉夫罗夫:俄愿意有条件妥协

参考消息
2025-09-19 17:40:05
田径世锦赛19日金牌榜及赛程:中国第19,中国奥运亚军冲亚洲首金

田径世锦赛19日金牌榜及赛程:中国第19,中国奥运亚军冲亚洲首金

求球不落谛
2025-09-19 07:49:44
排队道歉!拉什福德爆发,3负1胜巴萨成唯一尊严,1将令对手惊呼

排队道歉!拉什福德爆发,3负1胜巴萨成唯一尊严,1将令对手惊呼

话体坛
2025-09-19 06:06:00
詹姆斯宣布破产!亲自承认:现在退役还不是时候

詹姆斯宣布破产!亲自承认:现在退役还不是时候

陈意小可爱
2025-09-19 12:16:33
郭凯敏二婚妻子现身,颜值爆表身份厉害,儿子是谁你知道吗?

郭凯敏二婚妻子现身,颜值爆表身份厉害,儿子是谁你知道吗?

橙星文娱
2025-09-19 15:10:21
越闹越大!汤家凤开喷于东来:买你东西,不代表认可你的价值观!

越闹越大!汤家凤开喷于东来:买你东西,不代表认可你的价值观!

通鉴史智
2025-09-19 07:54:18
特朗普耐心耗尽,普京不接电话,美方不许中国援俄,王毅斩钉截铁

特朗普耐心耗尽,普京不接电话,美方不许中国援俄,王毅斩钉截铁

通文知史
2025-09-18 16:45:05
紧急寻人启事!上海701万元大奖无人认领

紧急寻人启事!上海701万元大奖无人认领

新民晚报
2025-09-19 16:06:03
医生对你暗示过什么?网友:我两次做阴超都是遇到男医生

医生对你暗示过什么?网友:我两次做阴超都是遇到男医生

解读热点事件
2025-09-14 00:15:04
湖南省高速公路集团原副总经理王辉扬被开除党籍

湖南省高速公路集团原副总经理王辉扬被开除党籍

界面新闻
2025-09-19 10:01:45
俄罗斯和哈马斯都玩脱了

俄罗斯和哈马斯都玩脱了

海子侃生活
2025-09-17 10:10:09
越扒越劲爆!释永信在少林寺的奢靡生活,你想都不敢想!

越扒越劲爆!释永信在少林寺的奢靡生活,你想都不敢想!

混沌录
2025-09-17 23:25:04
被排挤打压,郑丽文若败选将另择新枝!

被排挤打压,郑丽文若败选将另择新枝!

放开他让wo来
2025-09-19 14:55:39
2025-09-19 18:16:49
MediaTea
MediaTea
专业的数字媒体、新媒体技术
1525文章数 63关注度
往期回顾 全部

科技要闻

直击iPhone 17开售:消费者偏爱银色橙色

头条要闻

翟欣欣与前夫聊天记录披露 前夫跳楼前被骂"不得好死"

头条要闻

翟欣欣与前夫聊天记录披露 前夫跳楼前被骂"不得好死"

体育要闻

从轮椅到铜牌 他熬了7年:下个目标唱国歌!

娱乐要闻

全智贤被全面抵制!相关代言评论区沦陷

财经要闻

"矿霸"填埋万吨危废 当地政府成立调查组

汽车要闻

对话周光:一个技术理想主义者的“蜕变”

态度原创

手机
亲子
健康
本地
军事航空

手机要闻

野心勃勃!追觅官宣进军手机市场,势与华为、小米“三分天下”

亲子要闻

果然,幼儿园里是没有秘密的,评论区硬是陪着我吃了一顿早饭

内分泌科专家破解身高八大谣言

本地新闻

大学生军训哪家强,广西申请“出战”!

军事要闻

卫星图像显示以军坦克集结加沙城周围

无障碍浏览 进入关怀版