当前位置: 首页 > news >正文

Python学习-----模块5.0(文件管理大师-->os模块)

目录

前言:

1.os.getcwd() 

2. os.listdir(path) 

3.os.walk(path) 

4.os.path.exists(path)

5.os.mkdir(path) 

6.os.makedirs(path,exist_ok=True)

7.os.rmdir(path)

8.os.remove(path)

9.os.path.join(p1,p2)

10.os.path.split(path)

11.os.path.isdir(path)

12.os.path.isfile(path)

13.os.path.getsize(path)


前言:

        在Python中有一个os模块,这个模块提供了非常多文件管理的方法,我们可以去调用os模块这些函数方法可以去实现相关的文件操作,例如:文件的增加、删除、修改、查询等等……。这里我会详细介绍os模块中比较常用到的方法。

 导入模块

import os

1.os.getcwd() 

作用:获取当前工作路径

import os
#获取当前工作文件的路径
print(os.getcwd())
#输出结果:F:\Python\py1

2. os.listdir(path) 

作用:传入一个路径,然后输出这个路径下文件夹的目录,然后返回一个列表

 就以这个目录为例子吧

import os
path="F:\Python\py1"
print(os.listdir(path))
#输出结果:['123', '12月29日.mp3', '3.p.py', 'kk.json', 'os sys模块.py', '排序.py', '文件操作.py', '时间模块.py']

3.os.walk(path) 

作用:传入一个路径(这个是一个文件夹),然后依次遍历这个文件夹里面的内容,然后返回一个生成器,我们可以去用循环来遍历这个生成器,其输出结果是元组形式(这个过程也叫作元组拆包)

import os
path='F:\Python\py1'
print(type(os.walk(path)))
for dir in os.walk(path):print(dir)
#输出结果:
#<class 'generator'>
#('F:\\Python\\py1', ['123'], ['12月29日.mp3', '3.p.py', 'kk.json', 'os sys模块.py', '排#序.py', '文件操作.py', '时间模块.py'])
#('F:\\Python\\py1\\123', [], [])

4.os.path.exists(path)

作用:判断这个路径是否存在,返回一个布尔变量,存在就True, 不存在就False

import os
print(os.path.exists(r"F:\Python\项目ATM\core\src.py"))
print(os.path.exists(r'f:qq'))
#输出结果:True
#         False

5.os.mkdir(path) 

作用:传入一个path(文件路径),然后在这个路径下创建一个文件夹

注意:如果这个文件是存在的话,会创建失败报错,所以在创建之前要用os.path.exists去判断这个路径是否存在

import os
path=r"F:\Python\py1\123"
if not os.path.exists(path):os.mkdir(path) #创建一个名字叫做123的文件夹

结果:

 可以看出这里多了一个名字叫做123的文件夹

6.os.makedirs(path,exist_ok=True)

 作用:传入一个path路径,可以递归创建多个文件夹,同时相较于os.mkdir(path) 方法,这个方式功能更加多,第一可以一次性创建多个文件夹,第二是可以通过exist_ok这个参数去判断这个文件夹是否存在,如果不存在就创建,存在就不创建(不需要调用os.path.exists(path)这个方法来去判断),这样就不会出现报错的情况

import os
os.makedirs(os.getcwd()+r'\666',exist_ok=True) #创建一个名字为666的文件夹

结果:

可以看见,当前目录下多了一个名字为666的文件夹

7.os.rmdir(path)

作用:这个方法可以实现文件夹的删除,跟os.mkdir 方法是相反的

注意:这个方法只能删除一个空的文件夹(当然这个文件夹也是得存在的,不然会报错),也就是说这个文件夹里面不能有任何对象,否则会报错

import os
os.rmdir(r"F:\Python\py1\666")

结果就是刚刚创建名字为666的空文件夹被删除了

8.os.remove(path)

作用:这个方法可以把path路径下的文件删除

注意:删除的只能是一个文件,比如:.txt、.jpg、.json等等,不能是文件夹,否则会报错

当前文件目录:

import os
path=os.getcwd()+r'\kk.json'
os.remove(path)

结果就是这个json文件被删除了

9.os.path.join(p1,p2)

作用:这个方法可以实现这两个路径p1、p2组装为一个完整的新路径,最后返回这个新路径

注意:这个方法只是组装生成一个新的路径,而不是创建一个文件!!!

import os
p1=os.getcwd()
p2=['1.txt','2.txt','3.txt']
for i in p2:new_payh=os.path.join(p1,i)print(new_payh)
#输出结果:
# F:\Python\py1\1.txt
# F:\Python\py1\2.txt
# F:\Python\py1\3.txt

10.os.path.split(path)

作用:这个方法跟上面os.path.join(p1,p2)方法是相反的,这个方法是把一个完整的路径切分为绝对路径和相对路径,以元组的形式返回

import os
path=r"F:\Python\py1\2.txt"
x=os.path.split(path)
print(x,type(x))
#输出结果:('F:\\Python\\py1', '2.txt') <class 'tuple'>

11.os.path.isdir(path)

作用:这个方法可以判断这个路径path下是不是一个文件夹,返回一个布尔类型,是文件夹就返回True,反正返回False

当前目录:

import os
a=os.path.isdir('F:\\Python\\py1\\3.p.py')
b=os.path.isdir('F:\\Python\\py1\\520')
print(a,b)
#输出结果:False True

12.os.path.isfile(path)

作用:传入一个路径,判断这个路径下是不是一个文件(不是文件夹),返回布尔变量(同上)

import os
a=os.path.isfile('F:\\Python\\py1\\3.p.py')
b=os.path.isfile('F:\\Python\\py1\\520')
print(a,b)
#输出结果:True False

13.os.path.getsize(path)

作用:获取这个文件的大小(字节) ,返回数值

import os
size=os.path.getsize(os.getcwd())
print(size)
#输出结果:4096

ok,这一期就到这里了,感谢各位的支持~

分享一张壁纸 

 

相关文章:

Python学习-----模块5.0(文件管理大师-->os模块)

目录 前言&#xff1a; 1.os.getcwd() 2. os.listdir(path) 3.os.walk(path) 4.os.path.exists(path) 5.os.mkdir(path) 6.os.makedirs(path,exist_okTrue) 7.os.rmdir(path) 8.os.remove(path) 9.os.path.join(p1,p2) 10.os.path.split(path) 11.os.path.isdi…...

第45届世界技能大赛“网络安全”赛项浙江省选拔赛竞赛任务书

第45届世界技能大赛浙江省选拔赛竞赛任务书 一、竞赛时间 8:00-17:00&#xff0c;共计9小时。 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 模块A 任务1 数据库安全加固 8:00-10:00 50 任务2 文件MD5校验 50 任务3 Linux系统服务渗透测试及安全加…...

【uniapp微信小程序】跨平台使用echarts的方案选择踩坑

一、前言 使用Uniapp&#xff08;vue&#xff09;开发微信小程序&#xff0c;想用echarts图表实现类似github热力图的效果。 简要列一些可行或不可行的方案。 二、方案对比 1. 【应用】&#xff1a;微信小程序原生开发 有echarts官网提供的跨平台方案&#xff1a;在微信小程…...

WAF渗透攻防实践(16)

预备知识 WAF&#xff1a;WEB攻击一直是黑客攻击的主流手段&#xff0c;WAF作为网站安全基础设施的标配。Web Application Firewall&#xff0c;Web应用防火墙&#xff0c;通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的产品。 Nginx&#xff1a;Nginx 是…...

高并发场景下机器性能优化sop

之前接触过一些高并发场景下的性能优化&#xff0c;最近过年时候又碰巧看了一些相关资料&#xff0c;趁着还没忘干净&#xff0c;手动整理一下&#xff0c;有一些是在别处看到的&#xff0c;有一些是自己的亲身经历&#xff0c;因为偏向于自己整理笔记所以很多地方都只是列了一…...

【女程序员进大厂面试经验】

*那些犹豫想做技术又不敢的女生一定不要胆怯&#xff0c;就认准了这条路坚持走下去。大三的学生已经可以开始投简历、寻找面试机会了。先说一下我的情况吧&#xff01;我是郑州一双普通本科的女大学生&#xff0c;刚找工作的时候也很迷茫。同班的女生有做产品的、有做前端的、还…...

计算机网络笔记(复试准备)第一章

计算机网络笔记&#xff08;复试准备&#xff09; 第一章 网络&#xff0c;互联网与因特网 网络由若干个结点和连接这些结点的链路组成 多个网络通过路由器连接起来这也就形成了一个更大的网络即是我们熟知的互联网也就是“网络的网络” 因特网是世界上最大的网络 问&#xf…...

WooCommerce 上传文件 Vanquish v71.6

今天用wp 搭一个b2c外贸跨境电商网站 找 了一个文件上传插件&#xff0c;可以 上传无限数量的文件&#xff0c;没有文件大小限制WooCommerce 上传文件允许您上传无限数量的文件&#xff0c;没有任何文件大小限制。得益于其创新的块上传技术&#xff0c;它可以不受限制地上传任何…...

zabbix4.0 Web页面配置 - 聚合图形的实现

目录 1、主机组Host groups配置 创建主机组 ​编辑 将一个主机添加至刚才创建的主机里面 2、用户参数UserParameter设置 示例&#xff1a; 添加一个参数&#xff1a;show.host.messages 模拟zabbix模板里面的参数再添加一个userparameter 3、触发器设置 示例&#xff1a; …...

计算机网络 — UDP协议(看这一篇就可以

UDP协议UDP是传输层的重要协议之一&#xff0c;另一重要协议为TCP协议。两者对比&#xff1a;TCP协议复杂&#xff0c;但传输可靠。UDP协议简单&#xff0c;但传输不可靠。UDP协议全称为&#xff1a;User Datagram Protocol&#xff08;用户数据报协议&#xff09;。它是一个简…...

Pikachu靶场(暴力破解)

目录标题暴力破解&#xff08;登录&#xff09;基于表单的暴力破解验证码绕过(on server)验证码绕过(on client)token防爆破?上学期用这个靶场写过作业&#xff0c;现在抽空给它过一遍&#xff0c;由于需要抓包&#xff0c;从而通过小皮&#xff0c;使用本地&#xff08;127.0…...

浅谈script,link,import,@import引入

一.页面导入样式&#xff0c;使用link和import有什么区别 链接式和导入式有什么区别&#xff08;链接式&#xff0c;导入式&#xff0c;内嵌式&#xff0c;行内&#xff09; 1.从属关系:link是html标签&#xff0c;import是css提供的. 2.加载差异:页面加载时&#xff0c;link会…...

【CSS】CSS 层叠样式表 ① ( 简介 | CSS 引入方式 - 内联样式 | 内联样式语法 | 内联样式缺点 )

文章目录一、CSS 层叠样式表二、CSS 引入方式 - 内联样式1、内联样式语法2、内联样式缺点3、内联样式代码示例① 核心代码示例② 完整代码示例③ 执行结果一、CSS 层叠样式表 CSS 全称 Cascading Style Sheets , 层叠样式表 ; 作用如下 : 设置 HTML 页面 文本内容 的 字体 , 颜…...

12.STM32系统定时器-SysTick

目录 1.系统定时器-SysTick 2.SysTick定时时间的计算 3.SysTick结构体 4.SysTick固件库函数 5.SysTick中断优先级 1.系统定时器-SysTick SysTick:24位系统定时器&#xff0c;只能递减&#xff0c;存在于内核嵌套在NVIC中。所有的Cortex-M中都有这个系统定时器。 重装载值…...

28张图讲解支付系统的通用设计,漂亮!

支付永远是一个公司的核心领域&#xff0c;因为这是一个有交易属性公司的命脉。那么&#xff0c;支付系统到底长什么样&#xff0c;又是怎么运行交互的呢&#xff1f;抛开带有支付牌照的金融公司的支付架构&#xff0c;下述链路和系统组成基本上符合绝大多数支付场景。其实整体…...

【5】linux命令每日分享——touch创建文件

大家好&#xff0c;这里是sdust-vrlab&#xff0c;Linux是一种免费使用和自由传播的类UNIX操作系统&#xff0c;Linux的基本思想有两点&#xff1a;一切都是文件&#xff1b;每个文件都有确定的用途&#xff1b;linux涉及到IT行业的方方面面&#xff0c;在我们日常的学习中&…...

TypeScript快速上手语法+结合vue3用法

TypeScript快速上手语法结合vue3用法 前言&#xff1a; 本篇内容不涉及TypeScript安装以及配置&#xff0c;具体安装及配置篇可以看下面目录&#xff0c;本篇只涉及TypeScript语法相关内容&#xff0c;及结合vue3的用法。不讲废话&#xff0c;简单直接直接开撸。 目录 Type…...

一,下载iPerf3最新源代码

本文目录普通下载方式&#xff1a;git下载方式&#xff1a;普通下载方式&#xff1a; 如果你只是要阅读源代码&#xff0c;不涉及到编译安装修改源代码&#xff0c;那么可以简单的通过此方式下载代码。如果你希望编译安装修改源代码&#xff0c;那么建议通过git来进行源代码的…...

keithley6487/吉时利6487皮安表

产品概览 5-1/2 位 Keithley 6487 皮安表/电压源改进了屡获殊荣的 Keithley 6485 皮安表的测量能力&#xff0c;并增加了高分辨率 500V 电源。它提供更高的精度和更快的上升时间&#xff0c;以及与电容设备一起使用的阻尼功能。这款经济高效的仪器具有八个电流测量范围和高速自…...

sql命令大全

一&#xff1a;基本命令 1.数据库连接 mysql -h 主机名 -u root -p2.添加用户 insert into user (host,user,password,select_priv,insert_priv,update_priv) values (localhost,guest,password(guest123),Y,Y,Y);3.创建用户 create user usernamehost identified by passw…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点&#xff0c;但无自动故障转移能力&#xff0c;Master宕机后需人工切换&#xff0c;期间消息可能无法读取。Slave仅存储数据&#xff0c;无法主动升级为Master响应请求&#xff…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

ZYNQ学习记录FPGA(一)ZYNQ简介

一、知识准备 1.一些术语,缩写和概念&#xff1a; 1&#xff09;ZYNQ全称&#xff1a;ZYNQ7000 All Pgrammable SoC 2&#xff09;SoC:system on chips(片上系统)&#xff0c;对比集成电路的SoB&#xff08;system on board&#xff09; 3&#xff09;ARM&#xff1a;处理器…...

uni-app学习笔记三十五--扩展组件的安装和使用

由于内置组件不能满足日常开发需要&#xff0c;uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件&#xff0c;需要安装才能使用。 一、安装扩展插件 安装方法&#xff1a; 1.访问uniapp官方文档组件部分&#xff1a;组件使用的入门教程 | uni-app官网 点击左侧…...