
Python之os模块
众所周知,python是一种强大的脚本语言,那么,问题来了,为什么不用python来编写Linux脚本呢?问题的答案就是python有os模块啊!这个os模块能够让你像在Linux命令行中操作文件一样,在python中也实现同样的功能,感觉它就是python天生用来替换BASH的,而且它能够呈现出一种更简洁友好的脚本体验!
第一步;载入os模块
要想使用os模块的功能,第一步该怎么做呢?当然是首先载入os模块了,就像在python中使用其它模块一样,你只需输入以下语句就可完成os模块的导入。
好了,导入os模块之后,就可以体验不一样的Linux文件操作命令了!接下来,将会介绍一些os模块下与Linux文件操作命令相对应的函数语句。
getcwd()
这条语句以字符串的形式返回当前的工作目录,不必向它传递任何参数,相当于Linux下的pwd命令。
chdir()
chdir()语句和Linux下的cd命令一样用来切换工作目录,调用这个函数时,只要将你想改变的文件路径以字符串的形式作为变量输入即可。
而且它也像cd命令一样,支持相对路径。具体看下面的操作;
listdir()
Lisdir()相当于运行ls命令,然而不一样的是,lisdir()并不打印出目录下的内容,只是将其作为一个列表返回。当然,你也可以指定特定的目录,否则的话,它将会列出当前的目录。
mkdir() and makedirs()
这两个函数和Linux下创建目录的命令一样,它们接受的第一个参数都是创建的目录,当然是以字符串的形式,此外,还可以指定第二个参数来给创建的目录赋予给定的权限。
与mkdir()不一样的是,makedirs()支持创建多层目录,相当于运行mkdir()多次
chmod()
chmod()用来改变目录的权限,输入的第一个参数是要改变的目录,第二个是要改变的权限代号
chown()
chown()用来改变文件的所有者,不过它要求用户和群组的名称都是有效的,例如
这个命令将"test"目录的用户和群组属性都改为ID号为1000的所有者
remove() and removedirs()
remove()用来删除单个文件,可以为它传递一个绝对路径。
删除目录用removedirs(),它可以删除指定目录下的所有内容。
system()
最后介绍的这个命令功能最强大,同时也是最危险的一个。它可以运行Linux系统下的所有命令,只要将命令当做参数传递给它即可。
不过,这里有几点需要注意下,第一,使用这个函数必须在python的终端下,而且,这个函数会占用较多的系统资源,通常是低效的。最重要的是,这个函数可以运行任何命令,意味着它也能够产生任何你想不到的破坏。所以,如果你打算使用这个函数,请谨慎对待并确保它在可控范围内。
现在,使用下面的命令来尝试下system()吧!
当然,你也可以在其中使用管道符命令喽
运行上面的命令,将会使火狐浏览器运行,命令行上将会打出它的进程信息。
总结
现在,你已经使用python向Linux系统迈出了第一步。此外,python还提供了许多其它方便的工具,而这些东西本来是非常复杂的,由于python使它们变得更加好用。例如,比较流行的自动化工具ANsible和Salt就是用python做的。总而言之,没有什么是python不能做的,所以,赶紧GET起来吧!
最后来点小练习:
用Python打印出你当前的工作目录
改变并打印出一个工作目录
创建一个循环,遍历目录的内容并单独打印。
只用一个命令创建一个嵌套目录
改变一个文件夹的权限,使目录拥有者能够读取,写入和运行,而其他人只有读取和运行的权限
删除两个子目录
使用Python创建一个文本文件,列出用户当前正在运行的所有进程
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在数据成为新时代“石油”的今天,几乎每个职场人都在焦虑: “为什么别人能用数据驱动决策、升职加薪,而我面对Excel表格却无从 ...
2025-10-18数据清洗是 “数据价值挖掘的前置关卡”—— 其核心目标是 “去除噪声、修正错误、规范格式”,但前提是不破坏数据的真实业务含 ...
2025-10-17在数据汇总分析中,透视表凭借灵活的字段重组能力成为核心工具,但原始透视表仅能呈现数值结果,缺乏对数据背景、异常原因或业务 ...
2025-10-17在企业管理中,“凭经验定策略” 的传统模式正逐渐失效 —— 金融机构靠 “研究员主观判断” 选股可能错失收益,电商靠 “运营拍 ...
2025-10-17在数据库日常操作中,INSERT INTO SELECT是实现 “批量数据迁移” 的核心 SQL 语句 —— 它能直接将一个表(或查询结果集)的数 ...
2025-10-16在机器学习建模中,“参数” 是决定模型效果的关键变量 —— 无论是线性回归的系数、随机森林的树深度,还是神经网络的权重,这 ...
2025-10-16在数字化浪潮中,“数据” 已从 “辅助决策的工具” 升级为 “驱动业务的核心资产”—— 电商平台靠用户行为数据优化推荐算法, ...
2025-10-16在大模型从实验室走向生产环境的过程中,“稳定性” 是决定其能否实用的关键 —— 一个在单轮测试中表现优异的模型,若在高并发 ...
2025-10-15在机器学习入门领域,“鸢尾花数据集(Iris Dataset)” 是理解 “特征值” 与 “目标值” 的最佳案例 —— 它结构清晰、维度适 ...
2025-10-15在数据驱动的业务场景中,零散的指标(如 “GMV”“复购率”)就像 “散落的零件”,无法支撑系统性决策;而科学的指标体系,则 ...
2025-10-15在神经网络模型设计中,“隐藏层层数” 是决定模型能力与效率的核心参数之一 —— 层数过少,模型可能 “欠拟合”(无法捕捉数据 ...
2025-10-14在数字化浪潮中,数据分析师已成为企业 “从数据中挖掘价值” 的核心角色 —— 他们既要能从海量数据中提取有效信息,又要能将分 ...
2025-10-14在企业数据驱动的实践中,“指标混乱” 是最常见的痛点:运营部门说 “复购率 15%”,产品部门说 “复购率 8%”,实则是两者对 ...
2025-10-14在手游行业,“次日留存率” 是衡量一款游戏生死的 “第一道关卡”—— 它不仅反映了玩家对游戏的初始接受度,更直接决定了后续 ...
2025-10-13分库分表,为何而生? 在信息技术发展的早期阶段,数据量相对较小,业务逻辑也较为简单,单库单表的数据库架构就能够满足大多数 ...
2025-10-13在企业数字化转型过程中,“数据孤岛” 是普遍面临的痛点:用户数据散落在 APP 日志、注册系统、客服记录中,订单数据分散在交易 ...
2025-10-13在数字化时代,用户的每一次行为 —— 从电商平台的 “浏览→加购→购买”,到视频 APP 的 “打开→搜索→观看→收藏”,再到银 ...
2025-10-11在机器学习建模流程中,“特征重要性分析” 是连接 “数据” 与 “业务” 的关键桥梁 —— 它不仅能帮我们筛选冗余特征、提升模 ...
2025-10-11在企业的数据体系中,未经分类的数据如同 “杂乱无章的仓库”—— 用户行为日志、订单记录、商品信息混杂存储,CDA(Certified D ...
2025-10-11在 SQL Server 数据库操作中,“数据类型转换” 是高频需求 —— 无论是将字符串格式的日期转为datetime用于筛选,还是将数值转 ...
2025-10-10