首页 > 编程语言 >Python 常用运维模块之OS模块篇

Python 常用运维模块之OS模块篇

时间:2025-01-21 11:58:37浏览次数:3  
标签:文件 Python OS 路径 模块 print 权限 os 目录

Python 常用运维模块之OS模块篇

OS 模块

使用os模块之前需要导入

import os

获取当前工作目录

也就是当前python脚本所在的目录
os.getcwd() 用于获取当前工作目录的路径
例如,如果脚本位于 /home/user 目录下,运行此代码会输出 /home/user

print(os.getcwd())

更改当前工作目录

切换脚本所在的目录,类似于cd命令
os.chdir() 用于更改当前工作目录
如果路径不存在,会抛出 FileNotFoundError

os.chdir("/path/to/new/directory")
print(os.getcwd())  # 验证当前目录是否已更改

返回当前目录路径

os.curdir 返回当前目录的相对路径,通常是 .

print(os.curdir)  # 输出当前目录的相对路径

返回上一级目录路径

os.pardir 返回上一级目录的相对路径,通常是

print(os.pardir)  # 输出上一级目录的相对路径

递归生成目录路径

os.makedirs() 可以递归创建多级目录
如果目录已存在,会抛出 FileExistsError

os.makedirs("dir1/dir2")
print(os.listdir())  # 验证目录是否创建成功

删除目录

如果其中有文件,则递归删除
os.removedirs() 递归删除空目录
如果目录不为空,会抛出 OSError

os.removedirs("dir1/dir2")
print(os.listdir())  # 验证目录是否删除

创建目录

不支持递归生成目录
os.mkdir() 创建单级目录
如果目录已存在,会抛出 FileExistsError

os.mkdir("new_dir")
print(os.listdir())  # 验证目录是否创建成功

删除目录

若目录不为空则无法删除、报错
相当于 shell 中的 rmdir
os.rmdir() 删除空目录
如果目录不为空,会抛出 OSError

os.rmdir("new_dir")
print(os.listdir())  # 验证目录是否删除

列出特定目录下文件和子目录

os.listdir() 列出指定目录下的所有文件和子目录,不包括子目录中的内容

print(os.listdir("/path/to/directory"))

删除某个特定文件

os.remove() 删除指定文件
如果文件不存在,会抛出 FileNotFoundError

os.remove("file.txt")

重命名某个文件

os.rename() 用于重命名文件或目录
如果目标文件已存在,会抛出 FileExistsError

os.rename("old_file.txt", "new_file.txt")

获取某个文件/目录的信息

os.stat() 返回文件或目录的详细信息,包括大小、权限、修改时间

import os
info = os.stat("file.txt")
print(info)

输出目录路径分隔符

可以用于处理不同平台之间的差异
os.sep 是路径分隔符
Windows 系统中是 **
LinuxmacOS 系统中是 /

print(os.sep)  # 输出路径分隔符

输出文件行终止符

可以用于处理不同平台之间的差异
os.linesep 是行终止符
Windows 系统中是 \r\n
LinuxmacOS 系统中是 \n

print(repr(os.linesep))  # 输出行终止符

输出用于分隔文件路径的字符串

可以用于处理不同平台之间的差异
os.pathsep 是环境变量中路径分隔符
Windows 系统中是 ;
LinuxmacOS 系统中是 :

print(os.pathsep)  # 输出路径分隔符

输出当前操作系统的名称

可以用于处理不同平台之间的差异
os.name 返回当前操作系统的名称

print(os.name)  # 输出操作系统名称

获取当前系统的环境变量

os.environ 是一个包含所有环境变量的字典
os.environ.get() 可以获取特定环境变量的值

print(os.environ)  # 输出所有环境变量
print(os.environ.get("PATH"))  # 获取特定环境变量

判断是否有权限执行操作

os.access() 检查指定路径是否有指定权限
os.R_OK 表示读权限
os.W_OK 表示写权限

print(os.access("file.txt", os.R_OK))  # 判断是否有读权限
print(os.access("file.txt", os.W_OK))  # 判断是否有写权限

修改文件的权限

os.chmod() 修改文件的权限,权限值以八进制表示
例如, 0o755 表示所有者有读写执行权限,组和其他用户有读执行权限

os.chmod("file.txt", 0o755)  # 修改文件权限为 755

修改文件的属主和属组

os.chown() 修改文件的属主和属组
uidgid 分别是用户 ID 和组 ID
此功能仅在 Unix 系统中可用

os.chown("file.txt", uid, gid)  # 修改文件的属主和属组

创建软连接

os.symlink() 创建一个软链接,指向源文件
如果目标文件已存在,会抛出 FileExistsError

os.symlink("source.txt", "link.txt")  # 创建软链接

获取系统进程运行时间

os.times() 返回一个包含进程运行时间的元组,包括用户时间、系统时间等

print(os.times())  # 输出进程运行时间

标签:文件,Python,OS,路径,模块,print,权限,os,目录
From: https://blog.csdn.net/weixin_45614773/article/details/145277916

相关文章

  • osgearth夜视效果(粗步实现,夜视算法后续改进)
    夜视效果关键代码 //后期资源 std::string strVertShaderFile="../EarthData/Shaders/Post/Post.vert.glsl"; std::string strFragShaderFile="../EarthData/Shaders/Post/Post.frag.glsl"; std::string strPostImageFile="../EarthData/Texture/Ra......
  • Python方法重写与扩展
    Python方法重写与扩展在面向对象编程中,方法重写和方法扩展是两个非常重要的概念,它们使得派生类可以根据需要对基类的方法进行修改或增强。通过方法重写,派生类能够替代基类中已有的方法,而方法扩展则允许派生类在基类方法的基础上,增加新的功能或对方法进行额外的操作。方法......
  • 鸿蒙HarmonyOS开发:自适应布局的介绍,使用场景、实现方式与示例解析
    文章目录一、布局简介二、自适应拉伸1、左右拉伸2、均分拉伸三、自适应缩放1、完整缩放2、占比缩放四、自适应延伸1、同功能内容延伸2、不同功能内容延伸或隐藏五、自适应折行一、布局简介自适应布局是通过设定元素与外部容器的相对关系实现的。当外部容器大小......
  • [docker] 部署 nacos-server
    拉取nacosserver镜像dockerpullnacos/nacos-server:v2.4.3如果失败(网络问题),可以使用国内的镜像:dockerpullnacos-registry.cn-hangzhou.cr.aliyuncs.com/nacos/nacos-server:v2.4.3#其它版本nacos-registry.cn-hangzhou.cr.aliyuncs.com/nacos/nacos-server:v2.3......
  • Python MQTT服务器
    pythonmqttserver是一个流行的开源工具,用于在分布式系统中实现消息传递。通过使用Python编写MQTT服务器,用户可以轻松地实现自己的消息传递系统。下面是对PythonMQTT服务器的简要解读和分析。一、PythonMQTT服务器的工作原理PythonMQTT服务器使用Python语言编写的,采用MQTT协......
  • 查看CentOS7的版本信息
    1,查看CentOS的版本号:              cat/etc/centos-release  显示结果:                        CentOSLinuxrelease7.3.1611(Core) 2.查看内核版本  查询操作系统内核版本信息为:   ......
  • python安装、vscode安装、conda安装:一文搞定Python的开发环境(史上最全)
    本文原文链接文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完......
  • python 利用探空数据识别整层云
    选用蔡淼的论文:[1]蔡淼,欧建军,周毓荃,等.L波段探空判别云区方法的研究[J].大气科学,2014,38(02):213-222.里面的阈值法: #!/usr/bin/python3#-*-coding:utf-8-*-"""@Time:2025/1/2023:22@Author:Suyue@Email:1493117872@qq.com@File:cloud_area.py@Proj......
  • python转转商超书籍信息爬虫
    1基本理论1.1概念体系        网络爬虫又称网络蜘蛛、网络蚂蚁、网络机器人等,可以按照我们设置的规则自动化爬取网络上的信息,这些规则被称为爬虫算法。是一种自动化程序,用于从互联网上抓取数据。爬虫通过模拟浏览器的行为,访问网页并提取信息。这些信息可以是结构化的......
  • 【Python项目实战】爬取中国天气网天气数据
    1.引言在日常生活中,我们经常需要获取实时的天气数据。中国天气网www.weather.com.cn提供了较为丰富的天气数据资源,同时爬取不设过多限制,对新手友好。代码资源:https://download.csdn.net/download/weixin_74773078/90274520(有个性化程序定制需求可私信作者)2.准备工作在开......