带你轻松了解python中OS模块常用的方法_python os_米多sir的博客-程序员秘密

技术标签: python  # python知识库  

OS ( Operating System 操作系统 ) 操作系统模块,它是属于python的标准库,也就是Python自带的库。 它常用于处理文件和目录(文件夹)的操作。

另外os模块中的 path 模块(即os.path.方法())也比较常用,主要用于获取文件的属性。本篇文章不做详细阐述,会单独在另一篇文章里阐述其用法。

先把OS模块中常用到的方法总结一下,方法后续使用时查询。

方法名 作用
os.getcwd() 返回当前工作目录
os.chdir(path) 改变工作目录
os.listdir(path) 列举指定目录中的文件名和目录名
os.mkdir(path) 创建单层目录
os.makedirs(path) 递归创建目录
os.remove(path) 删除文件
os.rmdir(path) 删除单层目录
os.removedirs() 递归删除目录
os.system(command) 运行系统的shell命令
os.rename(old,new) 将老的文件名或目录重新命名为新的文件名或目录
os.curdir 代表当前目录
os.pardir 代表上一级目录

首先我们需要先将OS模块引用出来(import os),才能正常进行下面的各个方法练习。后面的例子都是在同一个文件中进行举例。文件的绝对路径如下图所示。
在这里插入图片描述

1. getcwd() :返回当前工作目录

在这里插入图片描述

2. chdir(path) :改变工作目录

在这里插入图片描述

3. listdir(path) :列举指定目录中的文件名和目录名

在这里插入图片描述
在这里插入图片描述

4. mkdir(path) :创建单层目录

若创建多层目录,父目录不存在的话会报错。若该目录已存在也会报错

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. makedirs() :递归创建目录

原先目录B里面是空的,尝试创建递归目录。

在这里插入图片描述
在这里插入图片描述

6. remove(path) :删除文件

在目录A里面手动创建一个文件a.txt,尝试删除这个文件。

在这里插入图片描述
在这里插入图片描述

7. rmdir(path) :删除单层目录

若该目录非空,则抛出异常。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8. removedirs() :递归删除目录。

像rmdir()一样, 如果子文件夹成功删除, removedirs()才尝试它们的父文件夹,直到抛出一个error(它基本上被忽略,因为它一般意味着你文件夹不为空)。
下图中删除到目录B(包含目录B)就停止了,因为目录B及子目录下面都是空的,目录B的上级目录(mypython目录)非空,所以删除到目录B则停止。若子目录C下面还有其他文件或目录,则删除到目录停止。

在这里插入图片描述
在这里插入图片描述

9. system(command) :运行系统的shell命令

比如 system('cmd) 是打开windows的cmd窗口

在这里插入图片描述

10. rename(old,new) :重命名

将老的文件名重新命名或目录为新的文件名或目录。
其中..代表上级目录,.代表当前目录

在这里插入图片描述

11. os.curdir

代表当前目录, 相当于.

12. os.pardir

代表上一级目录,相当于 ..


以上就是对于python中 OS模块常用方法 的理解,如有补充和建议请评论区留言,共同进步,感谢!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/mi2shao/article/details/124759933

智能推荐

Ubuntu20.04 使用docker搭建linphone opensips测试环境_opensips docker_houyizi313的博客-程序员秘密

1:sudo docker pull opensips/opensips2:sudo docker images //确认自己pull下来的docker image“IMAGE ID” REPOSITORY TAG IMAGE ID CREATED SIZEopensips/opensips latest 612569d03fda 2 months ag...

OpenCV-PyQT项目实战(4)OpenCV 与PyQt的图像转换_基于opencv和pyqt的图像处理_youcans_的博客-程序员秘密

在OpenCV-PyQt的项目中,通常使用OpenCV读写和处理图像,使用PyQt进行显示和交互。但是,OpenCV与PyQt中的图像存储格式不同,需要进行转换。这里有不少坑,小心行驶。

微信Web开发-App前端jssdk获取问题_吴维炜的博客-程序员秘密

本问主要介绍微信网页webapp开发过程中引入微信jssdk的坑1.基本配置毫无疑问,请参照官方文档https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115注:一般最容易出现问题的是步骤三2.config配置失败的原因2.1域名不一致官方有错误排查的引导,还是无法解决,那么你问题最可能出现在url...

开发板网线连接虚拟机,虚拟机ens33,没有ip地址(s5pv210)_虚拟机ens33不显示ip_竹东篱的博客-程序员秘密

利用tftp服务器,烧录arm内核,关于tftp服务器的搭建,参考:https://www.cnblogs.com/multimicro/p/9270547.html把tftp服务器搭建后设置虚拟机网络适配器为:桥接模式在虚拟机的编辑 》虚拟网络编辑器 》 桥接到 。 选择你的有线网卡,如果不知道那个选项是有线网卡可以,打开主机上的控制面板》网络共享中心》更改适配器设置》以太网箭头指向的...

[BZOJ 1725][Usaco2006 Nov]Corn Fields牧场的安排:状压DP_牧场的安排ac_BrooksBUAA的博客-程序员秘密

点击这里查看原题用二进制串表示每一行的摆放情况,预处理出各个状态间的转移关系即可。 f[i][j]表示第i行按状态j摆放的方案数。/*User:SmallLanguage:C++Problem No.:1725*/#include<bits/stdc++.h>#define ll long long#define inf 999999999using namespace std;

Android Studio 开发环境搭建 & 配置_android studio环境配置_Wriprin的博客-程序员秘密

前言 开发环境:JDK 开发语言:Java 开发工具 Android Studio JDK 安装配置 HelloWorld AS 默认配置修改 AVD 安装配置

随便推点

Unity3D游戏制作学习记录03——丛林战争_橘猫吸薄荷的博客-程序员秘密

Unity3D游戏制作学习记录03——丛林战争Siki学院的视频教程指路牌:http://www.sikiedu.com/course/61.粘包和分包粘包我们要发送出去的数据成为包,当我们发送的数据包很小,发送间隔又很短的时候,这对于性能的消耗是很大的,Socket就会自动优化,把这些数据组合起来作为一条消息发送到服务器端。出现的情况一般是在大型网络游戏中,要一直更新定位,血量等等的数据,就很容易出现粘包的问题了。分包当我们发送的数据包很大的时候,Socket就会把包分开去传输。一方面,如果

多媒体计算机技术2017年四月,2017年4月模拟题-多媒体技术_日本留学秋武老师的博客-程序员秘密

单选题:1、下列四项中属于数字化技术专有特点的是______。A.数字信号不存在衰减和噪音干扰问题B.数字信号在复制和传送过程不会因噪音的积累而产生衰减C.适合数字计算机进行加工和处理D.以上都是答案:D2、以下是关于使用触摸屏的说法,其中正确的是______。A.用手指操作直观﹑方便B.操作简单,无须学习C.交互性好,简化了人机接口D.以上3项全部正确答案:D3、下列说法中,正确的是______...

第四章课后作业_网页第四章课后总裁作业_xyz430771x的博客-程序员秘密

1.使用css制作网页有哪些优势?1.内i容与表现分离2.表现的统一3.丰富的样式4.减少页面的代码量5.运行独立于页面的css2.使用&amp;lt;style&amp;gt;标签和style属性引入cssy 样式有什么不同和相同1.style属性设置css样式的方式仅对当前的HTML标签起作用,这种方式不能使用内容与表现分离&amp;lt;style&amp;gt;这种方式方便在页面中修改样式,但不利于在多页...

Silverlight HttpUtil 封装Post调用_nivana999的博客-程序员秘密

using System;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Ink;using System.Windows.Input;using System.Windows.M

WebStorm FileWatcher (less 编译生成 css css.map min.css)(js 编译 min.js)_aaw11247的博客-程序员秘密

环境win7 64nodejdk 8工具Webstormnode-lessyuicompressor-2.4.8.jar步骤npm install -g less安装less 自动编译 webstorm (setting-&gt;Tool-&gt;File Watche...

多租户 SaaS 的数据库设计模式,你学废了吗?_saas多租户数据库设计_年少有为2025的博客-程序员秘密

在设计多租户SaaS应用程序时,您必须仔细选择最适合您应用程序需求的租户模型。租户模型确定每个租户的数据如何映射到存储。您选择的租户模式会影响应用程序设计和管理。以后切换到另一个模型有时代价昂贵。关于可选择的租户模型的讨论如下。...

推荐文章

热门文章

相关标签