1 需求


2 接口


3 示例


4 参考资料

在 Python 中,os(Operating System)模块是一个非常重要的内置标准库,提供了许多与操作系统进行交互的函数和方法,允许开发者在 Python 程序中执行常见的操作系统任务,像文件和目录操作、进程管理、环境变量访问等 。以下是os模块的详细介绍:

1. 文件操作相关

  • os.open()
    • 功能:以指定模式打开文件,返回文件描述符(一个小整数)。相比内置的open()函数,os.open()更接近系统底层操作。
    • 示例
import os
fd = os.open('test.txt', os.O_RDWR | os.O_CREAT)
os.write(fd, b'This is a test.')
os.close(fd) 
  • os.remove() 或 os.unlink()
    • 功能:删除指定路径的文件。如果文件不存在,会抛出FileNotFoundError异常。
    • 示例
import os
try:os.remove('test.txt')
except FileNotFoundError:print("文件不存在")
  • os.rename()
    • 功能:重命名文件或目录。如果目标路径已存在,会抛出FileExistsError异常。
    • 示例
import os
os.rename('old_name.txt', 'new_name.txt')

2. 目录操作相关

  • os.mkdir()
    • 功能:创建一个新目录。如果目录已经存在,会抛出FileExistsError异常。
    • 示例
import os
try:os.mkdir('new_directory')
except FileExistsError:print("目录已存在")
  • os.rmdir()
    • 功能:删除指定的空目录。如果目录不为空或者不存在,会抛出相应的异常。
    • 示例
import os
try:os.rmdir('new_directory')
except FileNotFoundError:print("目录不存在")
except OSError:print("目录非空,无法删除") 
  • os.listdir()
    • 功能:返回指定目录下的所有文件和目录名,以列表形式呈现。
    • 示例
import os
files = os.listdir('.')  # '.' 表示当前目录
for file in files:print(file) 
  • os.chdir()
    • 功能:改变当前工作目录到指定路径。
    • 示例
import os
os.chdir('/new/directory/path') 
  • os.walk()
    • 功能:递归遍历目录树,返回一个三元组 (dirpath, dirnames, filenames),分别表示当前目录路径、当前目录下的子目录名列表、当前目录下的文件名列表。
    • 示例
import os
for dirpath, dirnames, filenames in os.walk('.'):print(f"当前目录: {dirpath}")print(f"子目录: {dirnames}")print(f"文件: {filenames}") 

3. 进程管理相关

  • os.system()
    • 功能:在子 shell 中执行指定的命令,并返回命令的退出状态码。该方法简单易用,但无法获取命令的输出内容。
    • 示例
import os
return_code = os.system('ls -l')
print(f"命令执行的返回码: {return_code}") 
  • os.popen()
    • 功能:在子 shell 中执行命令,返回一个文件对象,可以通过该对象读取命令的输出内容。
    • 示例
import os
result = os.popen('ls -l').read()
print(result) 
  • os.fork() (仅限 Unix/Linux 系统)
    • 功能:创建一个子进程,父进程和子进程从 os.fork() 调用点开始分别执行不同的代码分支。父进程返回子进程的进程 ID,子进程返回 0。
    • 示例
import os
pid = os.fork()
if pid == 0:print("我是子进程")
else:print(f"我是父进程,子进程ID是 {pid}") 

4. 环境变量相关

  • os.environ
    • 功能:一个包含系统环境变量的字典,可以通过键值对的方式访问和修改环境变量。
    • 示例
import os
print(os.environ.get('PATH'))  # 获取PATH环境变量
os.environ['NEW_VARIABLE'] = 'value'  # 设置新的环境变量 

5. 其他常用功能

  • os.getpid()
    • 功能:返回当前进程的 ID。
    • 示例
import os
print(f"当前进程ID: {os.getpid()}") 
  • os.name
    • 功能:返回当前使用的操作系统名称。在 Unix/Linux 系统上返回 'posix',在 Windows 系统上返回 'nt'
    • 示例
import os
print(f"当前操作系统名称: {os.name}") 

os模块是 Python 进行操作系统层面交互的重要工具,能帮助开发者实现跨平台的系统操作,提升程序的实用性和灵活性。

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

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

相关文章

OpenCV CUDA模块设备层-----在 GPU 上执行类似于 std::copy 的操作函数warpCopy()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 OpenCV 的 CUDA 模块(cudev) 中的一个设备端内联模板函数,用于在 GPU 上执行类似于 std::copy 的操作&#xff…

Vue Router 中$route.path与 params 的关系

1. params 参数的本质:路径的动态片段在 Vue Router 中,params 参数是通过路由配置的动态路径片段定义的,例如:// 路由配置{ path: /user/:id, component: User }当访问/user/123时,/user/123是完整的路径,…

React 极简响应式滑块验证组件实现,随机滑块位置

🎯 滑块验证组件 (Slider Captcha) 一个现代化、响应式的滑块验证组件,专为 React 应用设计,提供流畅的用户体验和强大的安全验证功能。 ✨ 功能特性 🎮 核心功能 智能滑块拖拽 – 支持鼠标和触摸屏操作,响应灵敏随…

STM32第十六天蓝牙模块

一:蓝牙模块HC-05 1:硬件引脚配置: | 标号 | PIN | 说明 | |------|-------|---------------------------------------| | 1 | START | 状态引出引脚(未连接/连接输出信号时) |…

时序数据库IoTDB用户自定义函数(UDF)使用指南

1. 编写UDF时序数据库IoTDB为用户提供了编写UDF的JAVA API,用户可以自主实现UDTF(用户自定义转换函数)类,IoTDB将通过类加载机制装载用户编写的类。Maven依赖如果使用Maven,可以从Maven库中搜索以下依赖,并…

Linux国产与国外进度对垒

Linux国产与国外进度对垒 引言国产Linux的发展现状国外Linux的发展现状技术对比国产Linux的挑战与机遇国外Linux的优势与局限结论 引言 简述Linux在全球操作系统市场中的地位国产Linux的发展背景与意义国外主流Linux发行版的现状 国产Linux的发展现状 主要国产Linux发行版介…

Jenkins-Email Extension 插件插件

Editable Email Notification Editable Email Notification 是 Jenkins 的 Email Extension 插件的核心功能,用于自定义邮件通知,包括邮件主题、内容、收件人、发件人等 属性 1.Project From 项目发件人,设置邮件的发件人地址 **注意&…

windows系统下将Docker Desktop安装到除了C盘的其它盘中

windows系统下安装docker会自动安装到C盘,可以采用下面的方法将其安装到其它盘中1、先下载Docker Desktop安装程序Docker Desktop Installer.exe,比如你下载到了C:\Users\YourUsername\Downloads 文件夹中。 2、打开 PowerShell 进入C:\Users\YourUser…

视频工具箱 1.1.1 |小而美的视频处理工具,支持多种常用功能

VideoTools是一款基于FFmpeg的小而美的视频处理工具,专为需要快速高效地进行视频编辑的用户设计。这款工具无需安装,体积仅约200KB,提供了视频压缩、格式转换、转GIF、修改分辨率、加速播放以及音频提取等多种常用功能。其用户界面简洁直观&a…

无人机集群搜索技术全面解析

无人机集群搜索是指通过多架无人机协同工作,实现对目标区域的高效覆盖与快速探测。这项技术通过模拟自然界生物群体的集体行为,利用分布式控制和自主决策算法,使无人机集群能够自组织地完成复杂搜索任务。下面从核心技术、应用场景、算法实现…

【Elasticsearch】深度分页及其替代方案

深度分页及其替代方案 1.深度分页2.为什么不推荐深度分页2.1 性能问题(核心原因)2.2 资源消耗对比2.3 实际限制 3.深度分页的替代方案3.1 方案一:Search After(推荐)3.1.1 为什么 Search After 性能更高3.1.2 技术原理…

论文阅读笔记——VGGT: Visual Geometry Grounded Transformer

VGGT 论文 输入是 N 个 RGB 图像 I i ∈ R 3 H W I_i\in\mathbb{R}^{3HW} Ii​∈R3HW 的序列 ( I i ) i 1 N (I_i)^N_{i1} (Ii​)i1N​,观察相同 3D 场景。 VGGT 的 Transformer 是一个映射函数,将此序列映射为一组对应的 3D 标注, f ( …

【嵌入式电机控制#11】PID控制入门:对比例算法应用的深度理解

接下来内容需要数学功底,并且有现成结论的内容不做推导,重在讲解工程实践中的方法论,建议控制类专业或学习过相关理论的人阅读 一、开闭环系统 (1)开环控制系统:被控对象输出对控制器的输出没有影响 &…

多视图几何:本质矩阵与基础矩阵

文章目录 1. 前置知识1.1. 向量叉乘1.2. 混合积1.3. 引理证明 2. 本质矩阵3. 基础矩阵4. 应用例子 1. 前置知识 1.1. 向量叉乘 假设 a ( a x a y a z ) \mathbf{a} \begin{pmatrix} a_x \\ a_y \\ a_z \end{pmatrix} a ​ax​ay​az​​ ​ 以及 b ( b x b y b z ) \mat…

Hive集群之间迁移的Linux Shell脚本

新旧 Hive 集群之前数据迁移单表脚本 migrate_hive_single_table.sh #!/bin/bash#配置参数 OLD_NAMENODE"hdfs://<old-namenode>:<old-port>" EXPORT_PATH"/tmp/hive-export/dm" NEW_DB"dm_events" TABLE_NAME"dm_usereventfi…

新时代的开始,华为开源仓颉编程语言!

7月30日&#xff0c;华为即将开源自研的仓颉编程语言。 仓颉这个名字很有意思。传说中的仓颉创造了汉字&#xff0c;开启了中华文明的文字时代。华为用这个名字&#xff0c;体现了对中华文化的致敬。从2020年开始研发&#xff0c;到去年首次亮相&#xff0c;再到现在的全面开源…

【python实用小脚本-128】基于 Python 的 Hacker News 爬虫工具:自动化抓取新闻数据

引言 在技术社区中&#xff0c;Hacker News 是一个汇聚最新技术文章和讨论的热门平台。许多开发者和技术爱好者依赖它来获取行业动态和前沿资讯。然而&#xff0c;手动浏览和筛选这些文章可能耗时且低效。本文将介绍一个基于 Python 的 Hacker News 爬虫工具&#xff0c;它能够…

mac 电脑安装Homebrew来安装npm与node成功后,安装nvm的流程

文章目录 前言一、卸载node(如果没下载可以忽略这步)1.官网下载安装包的2. homebrew安装的 二、安装Homebrew(1) 命令安装&#xff08;2&#xff09;出现上面提示&#xff0c;执行对应的命令&#xff08;3&#xff09;校验是否安装成功 三&#xff1a;安装node&#xff08;Home…

根据无人机倾斜摄影osgb做的3dmax模型3dtiles制作,导出.b3dm加载到谷歌地图cesiumlab

根据无人机倾斜摄影osgb做的3dmax模型3dtiles制作&#xff0c;导出.b3dm加载到谷歌地图cesiumlab 根据无人机倾斜摄影osgb做的3dmax模型3dtiles制作&#xff0c;导出.b3dm加载到谷歌地图cesiumlab

Yocto项目:嵌入式Linux开发的“万能烹饪手册”

目录 一.Yocto是什么? 二.Yocto如何运作&#xff1f; 2.1 三大核心工具 2.2 实例 三.为什么开发者爱用Yocto&#xff1f; 3.1 ​自由定制&#xff0c;拒绝“全家桶”​​ 3.2 跨平台支持&#xff1a;从x86到火星芯片​ 3.3 工业级可靠性​ PetaLinux是Xilinx官方推出的…