Python基础教程(十四):OS 文件/目录方法

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快!
💝💝💝如有需要请大家订阅我的专栏【Python系列】哟!我会定期更新相关系列的文章
💝💝💝关注!关注!!请关注!!!请大家关注下博主,您的支持是我不断创作的最大动力!!!

文章目录

    • 引言
    • 一、导入`os`模块
    • 二、目录操作方法
      • 2.1 `os.getcwd()`
      • 2.2 `os.chdir()`
      • 2.3 `os.listdir()`
      • 2.4 `os.mkdir()`
      • 2.5 `os.makedirs()`
      • 2.6 `os.rmdir()`
      • 2.7 `os.removedirs()`
    • 三、文件操作方法
      • 3.1 `os.path.exists()`
      • 3.2 `os.path.isfile()`
      • 3.3 `os.path.isdir()`
      • 3.4 `os.remove()`
      • 3.5 `os.rename()`
      • 3.6 `os.path.getsize()`
    • 四、实践案例
    • 五、结论
    • 结束语

引言

在Python中,os模块提供了一系列强大的工具,用于与操作系统交互,尤其是文件和目录的管理。掌握os模块中的文件和目录方法,可以极大地提高你在数据处理、系统管理、脚本编写等场景下的工作效率。本文将深入探讨os模块中与文件和目录操作相关的关键方法,并通过具体案例展示其实际应用。

一、导入os模块

要使用os模块,首先需要在你的Python脚本中导入它:

import os

二、目录操作方法

2.1 os.getcwd()

getcwd()方法用于获取当前工作目录的路径。

current_dir = os.getcwd()
print(current_dir)

2.2 os.chdir()

chdir()方法用于更改当前工作目录。

os.chdir('/path/to/new/directory')

2.3 os.listdir()

listdir()方法用于列出指定目录下的所有文件和子目录。

files = os.listdir('.')
for file in files:
    print(file)

2.4 os.mkdir()

mkdir()方法用于创建单级目录。

os.mkdir('new_directory')

2.5 os.makedirs()

makedirs()方法用于递归创建多级目录。

os.makedirs('path/to/new/directory')

2.6 os.rmdir()

rmdir()方法用于删除空目录。

os.rmdir('empty_directory')

2.7 os.removedirs()

removedirs()方法用于递归删除多级空目录。

os.removedirs('path/to/empty/directory')

三、文件操作方法

3.1 os.path.exists()

exists()方法检查指定路径是否存在。

if os.path.exists('example.txt'):
    print("File exists")
else:
    print("File does not exist")

3.2 os.path.isfile()

isfile()方法判断指定路径是否为文件。

if os.path.isfile('example.txt'):
    print("It's a file")
else:
    print("Not a file")

3.3 os.path.isdir()

isdir()方法判断指定路径是否为目录。

if os.path.isdir('directory'):
    print("It's a directory")
else:
    print("Not a directory")

3.4 os.remove()

remove()方法用于删除文件。

os.remove('example.txt')

3.5 os.rename()

rename()方法用于重命名文件或目录。

os.rename('oldname.txt', 'newname.txt')

3.6 os.path.getsize()

getsize()方法获取文件大小。

size = os.path.getsize('example.txt')
print(f"Size of the file is {size} bytes")

四、实践案例

假设你有一批文件需要按照一定的规则批量重命名,可以使用os模块中的rename()方法配合循环来实现:

import os

# 获取当前目录下的所有文件
files = os.listdir('.')
for file in files:
    if file.endswith('.txt'):  # 只处理.txt文件
        base_name, extension = os.path.splitext(file)
        new_name = f"new_{base_name}_renamed{extension}"
        os.rename(file, new_name)

这段代码会遍历当前目录下的所有文件,查找以.txt结尾的文件,然后将它们重命名为新的格式。

五、结论

os模块是Python中一个极其强大的工具箱,它提供的方法可以让你在处理文件和目录时更加得心应手。从简单的目录切换到复杂的文件操作,os模块都能提供相应的支持。通过本文的学习,你应该已经掌握了如何使用os模块进行基本的文件和目录管理。在今后的编程实践中,不妨多多利用这些功能,它们将极大地提升你的开发效率和代码质量。


结束语

喜欢博主的同学,请给博主一丢丢打赏吧↓↓↓您的支持是我不断创作的最大动力哟!感谢您的支持哦😘😘😘
打赏下吧

💝💝💝如有需要请大家订阅我的专栏【Python系列】哟!我会定期更新相关系列的文章
💝💝💝关注!关注!!请关注!!!请大家关注下博主,您的支持是我不断创作的最大动力!!!

python相关文章索引文章链接
Python基础语法(一):标识符与保留字部分Python基础语法(一):标识符与保留字部分
Python基础语法(二):数据类型Python基础语法(二):数据类型
Python基础语法(三):运算符Python基础语法(三):运算符
Python基础语法(四):条件控制Python基础语法(四):条件控制
Python基础语法(五):循环语句Python基础语法(五):循环语句
Python基础语法(六):推导式编程Python基础语法(六):推导式编程
Python基础教程(七):函数编程-从基础到进阶Python基础教程(七):函数编程-从基础到进阶
Python基础教程(八):迭代器与生成器编程Python基础教程(八):迭代器与生成器编程
Python基础教程(九):Lambda 函数Python基础教程(九):Lambda 函数
Python基础教程(十):装饰器Python基础教程(十):装饰器
Python基础教程(十一):数据结构汇总梳理Python基础教程(十一):数据结构汇总梳理
Python基础教程(十二):模块Python基础教程(十二):模块
Python基础教程(十三):file文件及相关的函数Python基础教程(十三):file文件及相关的函数

❤️❤️❤️觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

matlab模拟闪电效果,分形几何

介绍 今日北京雷暴雨,从闪电中想到了今天想发一篇关于模拟闪电的matlab文章, 闪电跟人类神经元链接的样子非常相似,它们都属于分形几何的范畴。 分形几何 分形几何是一种复杂的几何结构,它在不同的尺度上具有自相似性。即&…

WPF界面设计

1、使用C#-WPF实现抽屉效果-炫酷漂亮的侧边栏导航菜单-SplitViewMD主题重绘原生控件的美观效果-提供源码Demo下载 码源地址:https://download.csdn.net/download/Prince999999/89424685 2、使用C#-WPF实现抽屉效果-菜单导航功能实现,常规的管理系统应该…

使用ecal后导致cmake项目的RelWithDebInfo编译类型会报依赖库NOTFOUND错误

cmake项目的RelWithDebInfo编译类型会报依赖库NOTFOUND,Release类型却正常,哪怕该依赖库是RelWithDebInfo类型编译的。 原因:eCAL的cmake脚本强行把Debug/Release之外的类型映射为Release了;如果依赖库以Release类型编译安装就能…

大众点评全国酒店POI采集146万家-2024年5月底

大众点评全国酒店POI采集146万家-2024年5月底 店铺POI点位示例: 店铺id k8sp5Gm38dMqzlFf 店铺名称 广州长隆熊猫酒店 十分制服务评分 9.4 十分制环境评分 9.4 十分制划算评分 9.4 人均价格 - 评价数量 13333 店铺地址 汉溪大道东299号 店铺类型 豪华型 …

【启明智显实战指南】SSD202D方案双网口开发板烧录全攻略---从入门到精通

提示:作为Espressif(乐鑫科技)大中华区合作伙伴及sigmastar(厦门星宸)VAD合作伙伴,我们不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程供开发小伙伴参考。同时也用心整理了乐鑫及星宸…

满屏假算力 全都是泡沫!

A股如戏,全靠演技。拖了半个月,去年的大牛股鸿博(股份)摊牌,明确回复深交所年报问询函, 洋洋洒洒那么多字,意思就是不想搞算力了,也不想对之前签署的合同履约,那些年吹过…

3D交互软件有哪些?哪个比较简单好学?

一个物理实验的仿真,要求做出来的结果是可以在电脑上完成实验,也就是通过操作实验器材让表盘上的表针按照实际的情况运动。实验器材的模型已经用3Dmax做出来了,请问用什么软件能方便的做到3D交互呢?最好是有中文的。 已经有制作好…

Linux基础 (十三):计算机网络基础概论

一、网络基本概念 1.1 网络 把独立自主的计算机通过传输介质和网络设备链接起来,就构成一个网络 ,网络是由若干结点和连接这些结点的链路组成,网络中的结点可以是计算机,交换机、 路由器等设备。 网络设备有:交换机、…

【深度学习】Transformer分类器,CICIDS2017,入侵检测,随机森林、RFE、全连接神经网络

文章目录 1 前言2 随机森林训练3 递归特征消除 RFE Recursive feature elimination4 DNN5 Transformer5.1. 输入嵌入层(Input Embedding Layer)5.2. 位置编码层(Positional Encoding Layer)5.3. Transformer编码器层(T…

Ubuntu server 24 (Linux) lvm 动态扩容磁盘空间

1 查看磁盘信息 sudo fdisk -l 2 查看lvm分区信息 sudo lvdisplay 3 扩展逻辑卷 sudo lvextend -l 100%FREE /dev/ubuntu-vg/ubuntu-lv 4 刷新逻辑卷 sudo resize2fs /dev/ubuntu-vg/ubuntu-lv 5 查看磁盘信息 df -h

代码随想录第28天|贪心算法part2

122买卖股票的最佳时机2 贪心算法最好能写出表达式,这样才好推导 假设在i天买入,j天卖出,则利润:price[j]-price[i] (price[j]-price[j-1])(price[j-1]price[j-2])...(price[i1]-price[i]) 于是我们可以计算出相邻天数的价格差,如…

178.二叉树:最大二叉树(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…

BPMN结束事件-Activiti7从入门到专家(8)

结束事件类型 bpmn结束事件表示流程或者分支的结束,当流程执行到结束时会抛出一个结果,是的,了解了开始事件以后,这个结束事件就相对很容易了。结束事件只有4种类型: 空结束事件错误结束事件取消结束事件终止结束事件…

程序员写博客的好处

编程不仅仅是一种谋生的手段,也是解决问题和创造价值的方式,如果把编程作为一门艺术看待,那就会有趣的多,也不会有什么35岁危机。 写博客不仅仅是一种记录和分享知识的手段,更是一种促进个人成长、拓宽职业道路的有效…

泛微OA E9 浏览框显示的数据根据表单字段过滤

一、实现效果:如图所示,字段“物品名称”浏览框显示的数据根据“类型”字段进行过滤。 二、实现方法: 1、建模引擎-应用建模-浏览框-浏览框列表中单击“办公耗材”-“浏览框列表”-“操作”-“编辑” 2、sql语句中根据OA自带是示例增加where…

echarts rich富文本标签使用

echarts 常见的富文本标签rich 位于 title, xAxis, yAxis, series中 这里着重讲解在 title 和 series中的 rich富文本标签使用 title 中的富文本标签在 textStyle属性下面 series 中的富文本标签在 label属性下面 rich富文本使用方法: title: {text: [//a 代表自…

A comprehensive review of machine learning-based models for fake news detection

Abstract 互联网在假新闻传播中的作用使其成为一个严重的问题,需要复杂的技术来自动检测。为了应对 Facebook、Twitter、Instagram 和 WhatsApp 等社交媒体网站上误导性材料的快速传播,本研究探索了深度学习方法和各种分类策略领域。该研究特别调查了基…

Java Opencv识别图片上的虫子

最近有个需求,希望识别图片上的虫子,对于java来说,图像识别不是很好做。在网上也搜索了很多,很多的代码都是不完整,或者下载下载报错,有的写的很长看不懂。所以自己试着用java的opencv写了一段代码。发现识…

俄语演讲开场白,柯桥外贸俄语培训

1、(Разрешите мне)от имени... 请允许我代表... 例: Разрешите мне от имени нашей компании поприветствовать всех членов вашей делегации…

智慧金融新视野:银行数据中心可视化大屏的崛起

在数字化浪潮的推动下,银行业正迎来一场前所未有的变革。在这场变革中,银行数据中心可视化大屏以其独特的魅力,为银行的数据分析和决策提供强有力的支持。 随着金融科技的不断发展,银行对于数据处理和分析的需求日益增长。银行数据…