python的os模块的常见函数及用途详解

news/2025/1/15 15:19:28/文章来源:https://www.cnblogs.com/moqiutao/p/18415967

os模块提供了与操作系统进行交互的功能。它允许你执行许多常见的文件系统任务,如读取目录、处理文件、获取系统信息等。以下是一些os模块中常见的函数及其用途:

目录操作

  • os.getcwd():返回当前工作目录的字符串表示。
  • os.listdir(path):返回指定目录下的文件和子目录列表。
  • os.mkdir(path):创建一个新目录。
  • os.rmdir(path):删除一个空目录。
  • os.path.exists(path):检查路径是否存在。
  • os.path.isdir(path):检查路径是否是一个目录。
  • os.path.isfile(path):检查路径是否是一个文件。
  • os.path.join(path, *paths):将多个路径组件智能地连接起来。

文件操作

虽然os模块主要用于目录操作,但它也提供了一些基本的文件操作功能,但更常见的文件操作是使用内置的open()函数和文件对象的方法。然而,os模块中的os.path子模块提供了许多与文件路径相关的实用函数。

  • os.path.getsize(path):返回指定文件的大小(以字节为单位)。
  • os.path.abspath(path):返回指定文件的绝对路径。
  • os.path.splitext(path):将路径拆分为文件名和扩展名。
  • os.path.basename(path):返回路径中的文件名。
  • os.path.dirname(path):返回路径中的目录名。

系统相关

  • os.name:返回描述正在使用的平台的字符串。例如,在Windows上,它返回'nt';在Unix/Linux上,它返回'posix'
  • os.system(command):在子shell中执行指定的命令,并等待命令完成。注意:使用这个函数时要特别小心,因为它可能允许执行恶意代码。
  • os.environ:一个表示环境变量的字典。你可以通过它读取或设置环境变量。
  • os.getpid():返回当前进程的ID。
  • os.getppid():返回父进程的ID。
  • os.walk(top):生成给定目录及其所有子目录中的文件和目录。这是一个非常有用的函数,用于遍历目录树。

进程管理(高级功能)

虽然这超出了基础范围,但os模块还包含一些与进程管理相关的函数,如os.fork()(在Unix系统上创建新进程)、os.execv()(执行新程序)等。这些函数在更高级的应用程序中可能很有用,但通常不是初学者的主要关注点。

其他实用功能

  • os.sep:表示路径组件之间的分隔符(例如,在Unix上是'/',在Windows上是'\\')。
  • os.linesep:表示当前平台使用的行终止符(例如,在Unix上是'\n',在Windows上是'\r\n')。
  • os.pathsep:用于在列表中分隔多个路径的字符(例如,在Unix和Windows上都是:,但在Windows上,当使用os.environ时,它实际上是;)。
  • os.urandom(size):返回一个包含随机字节的字符串,长度由size指定。这可以用于生成加密密钥等。

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

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

相关文章

上海登陆最强台风 台风路径追踪 All In One

上海登陆最强台风 & 台风路径追踪 All In One 上海最强台风路径追踪 中央气象台、市气象服务中心介绍,今年第13号台风“贝碧嘉”(强台风级)的中心已于今天(2024年09月16日)7点30分前后在上海浦东临港新城登陆,登陆时中心附近最大风力14级(42米/秒),中心最低气压为…

再vue中使用Vuetify 创建app项目

vue:2 Vuetify :2与vue创建普通项目相同:https://www.cnblogs.com/yansans/p/18342267vscode打开项目,在项目终端中运行vue add vuetify@2之后会出现,选择默认即可(回车) 几个选项的解释: 1. Vuetify 2 - Configure Vue CLI (advanced)解释:这是一个高级选项,允许你对…

广东产业转移工业园

广东产业转移工业园

南沙C++信奥老师解一本通题 1228:书架

​【题目描述】John最近买了一个书架用来存放奶牛养殖书籍,但书架很快被存满了,只剩最顶层有空余。 John共有NN头奶牛(1≤N≤20,000),每头奶牛有自己的高度Hi(1≤Hi≤10,000),N头奶牛的总高度为S。书架高度为B(1≤B≤S<2,000,000,007)。 为了到达书架顶层,奶牛可以踩着…

基于Java+Springboot+Vue开发的医院门诊预约挂号系统

项目简介该项目是基于Java+Springboot+Vue开发的医院门诊预约挂号系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的门诊预约挂号管理系统项目,大学生可以在…

基于Java+Springboot+Vue开发的家具管理系统

项目简介该项目是基于Java+Springboot+Vue开发的家具管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的家具管理系统项目,大学生可以在实践中学习和提升…

VirtualBox 7.1.0 发布下载 - 开源跨平台虚拟化软件

VirtualBox 7.1.0 发布下载 - 开源跨平台虚拟化软件VirtualBox 7.1.0 发布下载 - 开源跨平台虚拟化软件 VirtualBox 7.1.0 (macOS, Linux, Windows) - 开源跨平台虚拟化软件 Oracle VM VirtualBox 7 请访问原文链接:https://sysin.org/blog/virtualbox-7/,查看最新版。原创作…

Kali Linux 2024.3 发布下载 - 领先的渗透测试发行版

Kali Linux 2024.3 发布下载 - 领先的渗透测试发行版Kali Linux 2024.3 发布 (Multiple transitions) - 领先的渗透测试发行版 The most advanced Penetration Testing Distribution 请访问原文链接:https://sysin.org/blog/kali-linux/,查看最新版。原创作品,转载请保留出处…

南沙C++信奥老师解一本通题:2110:【例5.1】素数环

​ 【题目描述】输入正整数n,把整数1,2,…,n 组成一个环,使得相邻两个整数之和均为素数。【输入】输入正整数n。【输出】输出任意一个满足条件的环。【输入样例】 6 【输出样例】 4 3 2 5 6 1 【提示】数据满足: 4≤n≤30#include <bits/stdc++.h> using namespace st…

Cisco Jabber 15.0 发布下载 - 面向企业的多合一通信工具

Cisco Jabber 15.0 发布下载 - 面向企业的多合一通信工具Cisco Jabber 15.0 (Andriod, iOS, macOS, Windows) - 面向企业的多合一通信工具 即时消息、语音和视频通话、语音邮件、桌面共享、会议和在线状态 请访问原文链接:https://sysin.org/blog/cisco-jabber-15/,查看最新版…

9.15 比赛总结

突然想起来自己把比赛总结的好习惯忘掉了,所以现在重新拾起,故名曰《朝花夕拾》。T1 出了个大阴间题 看数据范围明显状压。很明显,\(a,b\) 分成两部分处理。 \(f_{s,i}\) 表示状态为 \(s\),\(a=i\) 时的所有情况之和,还要计算 \(num_{s,i}\) 表示此时情况数。 \(b\) 直接递…

读构建可扩展分布式系统:方法与实践05分布式缓存

分布式缓存1. 分布式缓存 1.1. 缓存存在于应用程序的许多地方1.1.1. 行应用程序的CPU具有高速多级硬件缓存,可以减少相对较慢的主内存访问1.1.2. 数据库引擎可以利用主内存来缓存数据存储的内容,这样在许多情况下查询就可以不用访问速度相对较慢的磁盘1.2. 分布式缓存是可扩展…