【Python】OS模块操作目录

1、概述


os模块是一个Python内置的操作目录和查看系统基础信息的模块,可用于让我们对目录进行批量操作,其中包括:

查看系统信息(环境变量、分隔符、换行符等),对目录进行创建、删除、重命名、查看目录内容等,还可以获取和切换当前路径以及改变根路径等功能。

同时os模块具有良好的跨平台性,其中的语句可以在Windows、Linux中运行。

不管是对于小白还是职场老手来说都是一个很有帮助的模块,下面就让我们来试用下吧。

2、入门操作


#首先先导入os模块

import os

3、语句使用


(1)查看系统信息

  • os.name:查看当前是什么操作系统(Windows、Linux)
  • os.environ:查看当前系统的环境变量信息
  • os.sep:输出系统文件分隔符(Windows为\,Linux为 /)
  • os.linesep:输出当前系统的文件换行符
# 1、os.name系统相关内容
print(os.name)  #nt是Windows,posix是华为的osLinux系统#打印环境变量信息
#['指定环境变量名']
print(os.environ['PATH'])#输出系统文件分隔符(linux与Windows不一样)
print(os.sep) #Windows是\,linux是/#输出系统文件内容换行符
print(os.linesep) # \nWindows换行符

(2)目录及路径操作

  • os.mkdir():创建单个目录
  • os.makedirs():创建多级目录
  • os.rename():重命名指定目录
  • os.rmdir():删除指定目录
  • os.listdir():查看指定目录下的内容
  • os.path.exists():查看某个目录是否存在
  • os.getcwd():获取当前所在路径
  • os.chdir():改变当前所在路径
  • os.chroot():改变系统根路径
#1、创建单个目录#(a)目录存在情况:创建完毕后若目录存在则会报错提示目录已存在,无法创建#(b)目录不存在情况:mkdir方法只能去创建一个目录,他的上级目录若不存在则会报错,提示目录不存在os.mkdir("目录路径") #2、创建多级目录#可以创建多级目录,上级目录不存在则会创建os.makedirs("目录路径/目录1/目录2/目录3...")#3、重命名目录os.rename("要修改的目录路径","修改后的目录名")#4、删除目录#此方法只能删除内容为空的目录,若是目录中有内容则会报错os.rmdir("要删除的目录路径")#5、查看某目录下的内容#内容会以list列表形式存储,将目录下的每个文件或目录都存储为列表的一个元素os.listdir("目录路径")#6、检查目录是否存在# 他的返回值为bool类型,True为目录存在,Flase为目录不存在os.path.exists("目录路径")#7、返回当前所在路径#默认是当前文件所在目录路径,后期使用chdir切换目录后此返回值会变化os.getcwd()#8、改变当前所在路径os.chdir("新的路径")#9、更改当前操作系统的根路径(临时更改)os.chroot("路径")  #根路径就是我们进入系统默认进入的路径

(3)其他语句

#1、使用当前系统cmd或shell解释器运行命令

os.system("dir")  #在Windows中运行dir命令查看当前目录内容

os.system("ls /etc")  #在Linux中运行ls命令查看/etc下的内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/100354.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/100354.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript中 i++ 与 ++i

在 JavaScript 编程中,i(前置自增)和i(后置自增)是两个常用但极易混淆的运算符。它们看似都能实现变量自增 1 的功能,但其执行时机和返回值的差异,常常导致开发者在实际编码中出现逻辑错误。本文…

fastapi 中间件的使用

1. 中间件基础结构from starlette.middleware.base import BaseHTTPMiddlewareclass RequestLoggerMiddleware(BaseHTTPMiddleware):async def dispatch(self, request: Request, call_next):# 1. 请求处理前逻辑# 2. 调用后续处理response await call_next(request)# 3. 响应…

网络白菜包子手动安装 Arch Linux

大家好!我是大聪明-PLUS!针对初学者的 Arch Linux 安装详细教程。我曾经花了不少时间才搞清楚安装过程。本文旨在提供一种“捷径”,让每个人都能轻松上手,无论他们是否有 Linux 使用经验。Arch 的主要特点是极其灵活的系统配置&am…

Linux学习笔记(五)--Linux基础开发工具使用

在Linux中软件包通常是指一个包含了软件程序、元数据、依赖关系信息和安装脚本的压缩文件​​。因为在Linux上如果没有软件包管理器,那么想要下载软件会非常麻烦,不仅需要自己去手动编译和安装,而且难以卸载和管理,所以软件包的出现解决了这些问题.软件包一般是由程序文件(编译…

数据结构(陈越,何钦铭) 第十讲 排序(下)

10.1 快速排序 10.1.1 算法概述10.1.2 选主元10.1.3 子集划分10.1.4 算法实现10.2 表排序 10.2.1 算法概述10.2.2 物理排序10.3 基数排序 10.3.1 桶排序10.3.2 基数排序10.3.3 多关键字的排序10.4 排序算法的比较

vue 使用print.js 打印文本,HTML元素,图片,PDF

vue 使用print.js 打印文本,HTML元素,图片,PDF 安装 npm install print-js --save示例 <template><div class"print-example"><h2>Print.js 打印示例</h2><!-- 打印区域 --><div id"printableArea" class"printable…

jenkins审批机器人功能概述-Telegram版

Jenkins审批机器人 - 功能概述 代码链接&#xff0c;私聊可得 项目简介 Jenkins审批机器人是一个集成Jenkins CI/CD流程的自动化审批系统&#xff0c;通过Telegram机器人提供便捷的发布审批功能。该系统支持多环境部署审批、用户权限管理、构建结果通知等完整的DevOps审批流程。…

Rust : 关于解引用“*”

关于解引用*操作符&#xff0c;谨供参考&#xff01; 一、主要代码 use std::ops::Deref; fn main() {model_1();model_2();model_3();model_4();model_5();model_6();model_7();model_8();model_9(); }二、*操作符与常见的引用和解引用 fn model_1(){let reference:&St…

【高级终端Termux】在安卓手机/平板上使用Termux 搭建 Debian 环境并运行 PC 级 Linux 应用教程(含安装WPS,VS Code)

Termux 搭建 Debian 环境并运行 PC 级 Linux 应用教程 一、前言 1. 背景 众所周知&#xff0c;最新搭载澎湃OS和鸿蒙OS的平板都内置了PC级WPS&#xff0c;办公效率直接拉满&#xff08;板子终于从“泡面盖”升级为“生产力”了&#xff09;。但问题来了&#xff1a;如果不是这…

从循环到矩阵运算:矢量化加速机器学习的秘诀

矢量化实现全解析&#xff1a;从原理到实战 在学习数据科学、机器学习和深度学习的过程中&#xff0c;我们经常会听到一个高频词——矢量化&#xff08;Vectorization&#xff09;。很多库的官方文档、教程里也不断强调“要尽量使用矢量化操作&#xff0c;而不是显式循环”。那…

大数据毕业设计-大数据-基于大数据的热门游戏推荐与可视化系统(高分计算机毕业设计选题·定制开发·真正大数据)

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

从零到一:用 Qt + libmodbus 做一个**靠谱**的 Modbus RTU 小工具(实战总结)

文章目录从零到一&#xff1a;用 Qt libmodbus 做一个**靠谱**的 Modbus RTU 小工具&#xff08;实战总结&#xff09;你会得到什么快速背景&#xff1a;为什么是 Modbus RTU&#xff1f;协议速查&#xff08;够用不啰嗦&#xff09;工程结构与 UI 组织连接“三板斧”&#xf…

使用Python创建本地Http服务实现与外部系统数据对接

在Python 3.10中创建一个能够处理GET和POST请求的本地HTTP服务器&#xff0c;并提供一个默认的 index.html 页面是完全可行的。Python的标准库中的 http.server 模块虽然简单&#xff0c;但通过一些自定义扩展可以满足这个需求。 下面我将提供一个实现方案&#xff0c;它包含一…

了解篇 | StarRocks 是个什么数据库?

今天简要介绍一下StarRocks 这个强大的数据库。注意&#xff1a;本文章内容仅供个人学习&#xff0c;不包含任何推荐性质。StarRocks&#xff08;原名 Doris&#xff09;是一个高性能、全场景的MPP&#xff08;大规模并行处理&#xff09;分析型数据库。它专为极速的多维联机分…

SSL部署完成,https显示连接不安全如何处理?

在部署 SSL 后&#xff0c;如果浏览器仍然显示 “连接不安全” 或 “Not Secure”&#xff0c;通常是由以下几种原因导致的。针对每种可能的原因和问题&#xff0c;以下提供了详细的排查和解决方案。 1. 排查问题的可能原因 1.1 SSL 证书未正确安装 如果 SSL 证书安装不完整或…

LeetCode热题100--105. 从前序与中序遍历序列构造二叉树--中等

1. 题目 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 输出: [3,9,20,null,n…

【WitSystem】详解JWT在系统登录过程中前端做了什么事,后端又做了什么事?

要理解 JWT&#xff08;JSON Web Token&#xff09;登录流程中前端与后端的职责分工&#xff0c;需先明确 JWT 的核心定位&#xff1a;它是一种无状态的身份认证令牌&#xff0c;用于替代传统 Session 认证&#xff0c;解决跨服务、跨域登录的问题。其流程本质是“后端生成令牌…

MongoDB 在线安装-一键安装脚本(CentOS 7.9)

1. 脚本概述本脚本用于在 CentOS 7.9 系统上在线安装 MongoDB&#xff0c;自动处理端口占用和重复安装问题&#xff0c;并创建管理员用户 test8&#xff0c;密码 test123。2. 功能停止并关闭防火墙检查 27017 端口占用并结束进程如果已安装 MongoDB&#xff0c;卸载重装配置 Mo…

树形数据结构之树状基础-算法赛

今天给分享的是一道算法决赛的题目&#xff0c;这道题目的综合要求比较高&#xff0c;希望大家可以好好理解&#xff0c;同时这道题用到的是树状树形结构的有关知识。可以用这几天学的相关内容结合起来。问题描述给定两个长度为 N的排列 A 和 B。若一对二元组下标 (i,j) 满足以…

Jenkins 构建清理策略:自带功能 vs Discard Old Build 插件,全场景实操指南

前言&#xff1a;在 Jenkins 持续集成过程中&#xff0c;构建记录、工作空间、产物包会不断积累&#xff0c;既占用磁盘空间&#xff0c;也会让构建历史变得臃肿。Jenkins 自带的“丢弃旧的构建”功能和 Discard Old Build 插件&#xff0c;是两种常见的构建清理方案。本文将详…