当前位置: 首页 > 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…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

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

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

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...