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

news2024/12/30 1:36:51

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快!
💝💝💝如有需要请大家订阅我的专栏【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 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

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

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

相关文章

【Python】一文向您详细介绍 sys.argv

【Python】一文向您详细介绍 sys.argv 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本硕,曾…

数字化:蚓链帮你打通企业营销线上线下的“任督二脉”!

​在这个飞速发展的时代,数字化如同一把神奇的钥匙,开启了企业营销的全新篇章!它正以惊人的力量助力企业实现线上线下的融合,为企业带来新的机遇和挑战! 数字化成为企业营销的关键驱动力。它通过多种方式实现线上和线…

AI助手:Agent工作流程与应用场景详解

引言 智能体(Agent)是一种在特定环境中自主行动、感知环境、做出决策并与其他智能体或人类进行交互的计算机程序或实体。它们具备自主性、反应性、社交性和适应性等特点,能够根据环境的变化调整自己的行为,以达到预设的目标。本文…

晶体管类型及结构,晶体管的电流放大作用

晶体管类型及结构 1.3.1 晶体管的结构及类型根据不同的掺杂方式在同一个硅片上制造出三个掺杂区域,并形成两个PN结,就构成晶体管。采用平面工艺制成的 NPN型硅材料晶体管的结构如图1.3.2(a)所示,位于中间的P区称为基区,它很薄且杂…

MySQL JDBC驱动包引入有版本要求吗

提示:有关数据库的任何操作,请事先都做好备份,一定不会错的; 文章目录 前言一、com.mysql.jdbc.Driver和com.mysql.cj.jdbc.Driver如何选择?1、概念2、引入驱动3、总结 前言 新老项目的交替中,如果你使用的…

旅游网页(HTML+CSS+JS)

前言 本篇博客就不给大家讲解了,直接上代码 💓 个人主页:普通young man-CSDN博客 ⏩ 文章专栏:https://blog.csdn.net/2302_78381559/category_12644031.html?spm1001.2014.3001.5482https://blog.csdn.net/2302_78381559/catego…

最受欢迎的测试用例管理工具,14款软件全方位对比

14款不错的测试用例管理工具对比:PingCode、TestRAIl、Xray、PractiTest、Tricentis qTest、禅道(ZenTao)、Zephyr、Tapd、TestLink、TestCollab、Testin云测、云效(Alibaba Cloud Effect)、TeavCloud、FitNesse。 在软…

如何做好期货投资?

期货,这个词对于很多人来说可能还是个陌生的词汇,但是,随着经济的发展和人们对金融投资的需求增加,期货投资也变得越来越受到关注。那么,如何才能做好期货投资呢? 首先,了解期货的基本知识是非…

Linux网络编程(二)Socket编程

Socket编程 一、网络套接字概念:socket 一个文件描述符指向一个套接字(该套接字内部由内核借助两个缓冲区实现。)在通信过程中, 套接字一定是成对出现的。二、网络字节序和主机字节序的转换函数(ip和端口&#xff09…

戎码翼龙NG-EDR白皮书

NG-EDR 很轻 内核轻量不卡机! ◆ 戎码翼龙AI原生NG-EDR具备强大的数据采集能力,涵盖了MITRE ATT&CK框架下的终端数据源,能为威胁检测提供强力基础。在技术实现层面,戎码翼龙采用了先进的内核级数据采集技术,以超…

aardio - 关于字符串指针的操作

一、前言: aardio中的字符串,是不可修改的。 我们对字符串变量重新赋值一个不同的字符串,并不是“修改数据”,而是“更换地址”,实际上是赋予了一个新的内存指针。 先看下图,理解一下aardio中字符串变量…

跳动圆点加载动画

效果图: 完整代码: <!DOCTYPE html> <html> <head><meta charset="UTF-8" /><title>跳动圆点加载动画</title><style type="text/css">body {background: #ECF0F1;display: flex;justify-content: center;al…

MATLAB神经网络---激活层

reluLayer 修正线性单元 (ReLU) 层 ReLU 层对输入的每个元素执行阈值运算&#xff0c;其中任何小于零的值都设置为零。 此运算等效于 语法 layer reluLayer 创建一个 ReLU 层。 layer reluLayer(Name,Name) 创建一个 ReLU 层&#xff0c;并使用名称-值对组设置可选的 Nam…

【机器学习】机器学习与金融科技在智能投资中的融合应用与性能优化新探索

文章目录 引言机器学习与金融科技的基本概念机器学习概述监督学习无监督学习强化学习 金融科技概述股票预测风险管理资产配置 机器学习与金融科技的融合应用实时市场数据分析数据预处理特征工程 股票预测与优化模型训练模型评估 风险管理与优化深度学习应用 资产配置与优化强化…

产品管理:抓住关键要素的ABC分类法

目录 简介 ABC 分类法步骤 第一步&#xff1a;收集数据 第二步&#xff1a;处理数据 第三步&#xff1a;根据 ABC 分析表确定分类 第四步&#xff1a;绘制ABC分析图 第五步&#xff1a;根据 ABC 分析的结果&#xff0c;对 ABC 三类商品采取不同的管理策略 附&#xff1…

jenkins 自动化任务构建案例

一新建Item 输入一个名称&#xff0c;点击Freestyle project 进入到配置项 选择 This project is parameterized&#xff0c;点击String Parameter 添加 变量值 command添加执行的命令 二构建 点击build构建触发器 三查看控制台 控制台输出信息无误

双亲委派模型是什么,为什么要使用双亲委派模型

双亲委派模型是什么&#xff0c;为什么要使用双亲委派模型 在Java中&#xff0c;类加载器&#xff08;ClassLoader&#xff09;是负责将类文件加载到JVM中的关键组件。为了确保类加载过程的安全性和稳定性&#xff0c;Java引入了一种叫做双亲委派模型&#xff08;Parent Deleg…

联合数据库,申请出战!新指标“超级老人”揭示老年健康新视角,仅用logistic分析发文二区...

说到老年数据库&#xff0c;大家最熟悉的肯定是Charls&#xff0c;实际上类似免费好用的老年数据库还有很多&#xff0c;在没有思路的时候我们不妨看一下其他数据库的文章&#xff0c;说不定能找到新的思路或者切入点。 今天介绍的这篇文章就提出来一个新的概念-“超级老人”&a…

中国(广州)国际物流装备展圆满收官,铨顺宏邀您6月上海档案展

2024年5月29日-31日&#xff0c;为期三天的第十五届中国(广州)国际物流装备与技术展览会圆满收官。此次展会汇聚了物流装备与技术领域的众多行业精英和领先企业&#xff0c;展示了最新的技术和产品。铨顺宏科技作为物联网设备和技术服务领提供商&#xff0c;携RFID、BLE、UWB和…

按位拆分+前缀和,CF 1879D - Sum of XOR Functions

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1879D - Sum of XOR Functions 二、解题报告 1、思路分析 朴素暴力O(N^2)&#xff0c;考虑优化 由于要求的是异或值乘长度&#xff0c;那么我们可以按位考虑每一位异或值的贡献 我们枚举每一位 每次遍历…