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

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.

相关推荐
热点推荐
奇葩亲戚朋友的要求有多离谱?网友:这年头还有想吃绝户的

奇葩亲戚朋友的要求有多离谱?网友:这年头还有想吃绝户的

解读热点事件
2025-12-21 00:05:08
中国公民东京街头约4.2亿日元现金遭劫 我使馆再次提醒近期避免前往日本

中国公民东京街头约4.2亿日元现金遭劫 我使馆再次提醒近期避免前往日本

上游新闻
2026-01-30 13:03:03
中国车企和特斯拉的下一战,战场已定

中国车企和特斯拉的下一战,战场已定

虎嗅APP
2026-01-31 06:23:07
你敢信?统一台湾的关键人物,可能已经出现了!

你敢信?统一台湾的关键人物,可能已经出现了!

鹤羽说个事
2026-01-15 14:55:30
她赴英留学,却与上千外国男子有染并拍成视频,父母与她断绝关系

她赴英留学,却与上千外国男子有染并拍成视频,父母与她断绝关系

阿胡
2026-01-21 17:34:15
当“和平”被另起炉灶:新西兰的拒绝与世界的警惕

当“和平”被另起炉灶:新西兰的拒绝与世界的警惕

刘澜昌
2026-01-31 08:23:07
好落魄!49岁赵薇广东吃饭,被扒住潮州老旧小区,人生再无回头路

好落魄!49岁赵薇广东吃饭,被扒住潮州老旧小区,人生再无回头路

呆冰和章鱼
2025-12-12 15:13:02
蒋介石枪毙韩复榘前,问冯玉祥意见,冯玉祥:我早就想枪毙他了!

蒋介石枪毙韩复榘前,问冯玉祥意见,冯玉祥:我早就想枪毙他了!

千秋文化
2026-01-16 19:27:45
勇士4首轮太寒碜!拿11个首轮换字母哥?时隔3年,再组超级豪阵?

勇士4首轮太寒碜!拿11个首轮换字母哥?时隔3年,再组超级豪阵?

你的篮球频道
2026-01-31 08:19:49
1米86小伙被妈妈“抓来”当中老年装模特,因“太帅”走红,带火21年老店;妈妈发声:自家卖男装,来的多是女客户,儿子暂无女朋友

1米86小伙被妈妈“抓来”当中老年装模特,因“太帅”走红,带火21年老店;妈妈发声:自家卖男装,来的多是女客户,儿子暂无女朋友

扬子晚报
2026-01-31 07:58:30
中国帮沙特建高铁,干了九年赔了41亿,为何说如今却赚翻了?

中国帮沙特建高铁,干了九年赔了41亿,为何说如今却赚翻了?

原广工业
2026-01-30 16:28:51
得到两大盟友力挺,伊朗威胁炸沉林肯号,特朗普:不一定要动武

得到两大盟友力挺,伊朗威胁炸沉林肯号,特朗普:不一定要动武

大光观察
2026-01-31 09:00:07
这算不算是顶级阳谋?修建厦金大桥台当局不同意,我们是照修不误

这算不算是顶级阳谋?修建厦金大桥台当局不同意,我们是照修不误

百态人间
2026-01-29 16:04:26
奥尼尔:我不想詹姆斯打全明星替补,应为“国王”留一份体面

奥尼尔:我不想詹姆斯打全明星替补,应为“国王”留一份体面

懂球帝
2026-01-30 17:36:06
北京SKP老铺黄金现抢购热潮,有人凌晨到商场排队,还有顾客排7小时没买到“心仪款”,店员:部分畅销款已断货

北京SKP老铺黄金现抢购热潮,有人凌晨到商场排队,还有顾客排7小时没买到“心仪款”,店员:部分畅销款已断货

极目新闻
2026-01-30 12:45:15
心梗去世逐年增多?医生:牢记“3不喝、2不吃、1坚持”,别大意

心梗去世逐年增多?医生:牢记“3不喝、2不吃、1坚持”,别大意

袁医生课堂
2026-01-24 17:33:06
移英港男花完20万回流香港称教训还不算昂贵,决定成立“回流组”当群主竭尽所能协助移英港人重回香港!

移英港男花完20万回流香港称教训还不算昂贵,决定成立“回流组”当群主竭尽所能协助移英港人重回香港!

澳门月刊
2026-01-28 15:10:22
特朗普威胁对加拿大飞机加征50%关税

特朗普威胁对加拿大飞机加征50%关税

新京报
2026-01-30 08:04:04
李亚鹏直播间封神!茶厂老板全程木讷成笑点,这份实在太戳人

李亚鹏直播间封神!茶厂老板全程木讷成笑点,这份实在太戳人

李覴在北漂
2026-01-29 22:52:37
广州海珠湾隧道收费方案公布

广州海珠湾隧道收费方案公布

新快报新闻
2026-01-30 14:11:04
2026-01-31 09:39:00
MediaTea
MediaTea
专业的数字媒体、新媒体技术
1730文章数 72关注度
往期回顾 全部

科技要闻

中国车企和特斯拉的下一战,战场已定

头条要闻

牛弹琴:战争脚步又逼近一些 真可能这个周末就见分晓

头条要闻

牛弹琴:战争脚步又逼近一些 真可能这个周末就见分晓

体育要闻

“假赌黑”的子弹,还要再飞一会儿吗?

娱乐要闻

成龙入驻小红书,怼脸近照没有老年斑

财经要闻

白银,暴跌!黄金,40年最大跌幅!

汽车要闻

合资品牌首搭800V/5C快充 东风日产NX8将于3、4月上市

态度原创

艺术
健康
手机
亲子
军事航空

艺术要闻

仅3秒认全14字草书,赵孟頫书法为何备受争议?

耳石症分类型,症状大不同

手机要闻

库克预告:苹果今年有前所未见的创新

亲子要闻

这孩子……

军事要闻

新西兰拒绝特朗普:不加入"和平委员会"

无障碍浏览 进入关怀版