当前位置: 首页 > 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,这一期就到这里了,感谢各位的支持~

分享一张壁纸 

 

http://www.lryc.cn/news/19788.html

相关文章:

  • 第45届世界技能大赛“网络安全”赛项浙江省选拔赛竞赛任务书
  • 【uniapp微信小程序】跨平台使用echarts的方案选择踩坑
  • WAF渗透攻防实践(16)
  • 高并发场景下机器性能优化sop
  • 【女程序员进大厂面试经验】
  • 计算机网络笔记(复试准备)第一章
  • WooCommerce 上传文件 Vanquish v71.6
  • zabbix4.0 Web页面配置 - 聚合图形的实现
  • 计算机网络 — UDP协议(看这一篇就可以
  • Pikachu靶场(暴力破解)
  • 浅谈script,link,import,@import引入
  • 【CSS】CSS 层叠样式表 ① ( 简介 | CSS 引入方式 - 内联样式 | 内联样式语法 | 内联样式缺点 )
  • 12.STM32系统定时器-SysTick
  • 28张图讲解支付系统的通用设计,漂亮!
  • 【5】linux命令每日分享——touch创建文件
  • TypeScript快速上手语法+结合vue3用法
  • 一,下载iPerf3最新源代码
  • keithley6487/吉时利6487皮安表
  • sql命令大全
  • Ubuntu 定时执行脚本
  • Python带你制作一个属于自己的多功能音乐播放器
  • Redis 被问麻了...
  • 使用JavaScript+Selenium玩转Web应用自动化测试
  • [架构之路-119]-《软考-系统架构设计师》-计算机体系结构 -1- 基本原理(体系结构、指令系统与流水线、层次存储)
  • 【离线数仓-8-数据仓库开发DWD层-交易域相关事实表】
  • 你知道Java架构师学习路线该怎么走吗?你所缺少的是学习方法以及完整规划!
  • 华为OD机试用Python实现 -【查找树中的元素 or 查找二叉树节点】(2023-Q1 新题)
  • MyBatis——创建与使用
  • 【涨薪技术】0到1学会性能测试 —— 参数化关联
  • go进阶(2) -深入理解Channel实现原理