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

Ubuntu 定时执行脚本

一、关于crontab cron是一个Linux定时执行工具&#xff0c;可以在无需人工干预的情况下运行作业。在Ubuntu中&#xff0c;cron是被默认安装并启动的。 二、例子 直接上例子&#xff0c;来看看怎么用。 需求&#xff1a;定时每天8点&#xff0c;自动执行保存在/root目录下he…...

Python带你制作一个属于自己的多功能音乐播放器

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 就是用Python做一个简易的音乐播放器&#xff0c;废话不多说&#xff0c;咱们直接开干 当然&#xff0c;今天做这个肯定不是最简单的&#xff0c;最简单的音乐播放器&#xff0c;9行代码足以 完整源码等直接在文末名片领…...

Redis 被问麻了...

Redis是面试中绕不过的槛&#xff0c;只要在简历中写了用过Redis&#xff0c;肯定逃不过。今天我们就来模拟一下面试官在Redis这个话题上是如何一步一步深入&#xff0c;全面考察候选人对于Redis的掌握情况。 小张&#xff1a; 面试官&#xff0c;你好。我是来参加面试的。 …...

使用JavaScript+Selenium玩转Web应用自动化测试

自动化测试 在软件开发过程中, 测试是功能验收的必要过程, 这个过程往往有测试人员参与, 提前编写测试用例, 然后再手动对测试用例进行测试, 测试用例都通过之后则可以认为该功能通过验收. 但是软件中多个功能之间往往存在关联或依赖关系, 某一个功能的新增或修改可能或影响到…...

[架构之路-119]-《软考-系统架构设计师》-计算机体系结构 -1- 基本原理(体系结构、指令系统与流水线、层次存储)

第9章 计算机体系结构9.1 什么是计算机体系结构计算机系统结构&#xff08;Computer Architecture&#xff09;也称为计算机体系结构&#xff0c;它是由计算机结构外特性&#xff0c;内特性&#xff0c;微外特性组成的。经典的计算机系统结构的定义是指计算机系统多级层次结构中…...

【离线数仓-8-数据仓库开发DWD层-交易域相关事实表】

离线数仓-8-数据仓库开发DWD层-交易域相关事实表离线数仓-8-数据仓库开发DWD层-交易域相关事实表一、DWD层设计要点二、交易域相关事实表1.交易域加购事务事实表1.加购事务事实表 前期梳理2.加购事务事实表 DDL表设计分析3.加购事务事实表 加载数据分析1.首日全量加购的数据加载…...

你知道Java架构师学习路线该怎么走吗?你所缺少的是学习方法以及完整规划!

怎么成为一名Java架构师&#xff1f;都需要掌握哪些技术&#xff1f;Java架构师&#xff0c;首先要是一个高级Java攻城狮&#xff0c;熟练使用各种框架&#xff0c;并知道它们实现的原理。jvm虚拟机原理、调优&#xff0c;懂得jvm能让你写出性能更好的代码;池技术&#xff0c;什…...

华为OD机试用Python实现 -【查找树中的元素 or 查找二叉树节点】(2023-Q1 新题)

华为OD机试题 华为OD机试300题大纲查找树中的元素 or 查找二叉树节点题目描述输入描述输出描述说明示例一输入输出示例二输入输出Python 代码实现代码编写思路华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 O…...

MyBatis——创建与使用

概念 当我们使用传统的jdbc进行数据库与程序的连接时&#xff0c;每一个操作都需要写一条sql语句&#xff0c;并且没法调试和修改 jdbc连接数据库流程&#xff1a; 创建数据库连接池DataSource获取数据库连接Connection执行带占位符的sql语句通过Connection创建操作对象Stat…...

【涨薪技术】0到1学会性能测试 —— 参数化关联

前言 上一次推文我们分享了性能测试工作原理、事务、检查点&#xff01;今天给大家带来性能测试参数化&#xff0c;检查点知识&#xff01;后续文章都会系统分享干货&#xff0c;带大家从0到1学会性能测试&#xff0c;另外还有教程等同步资料&#xff0c;文末免费获取~ 01、性…...