目录
前言:
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,这一期就到这里了,感谢各位的支持~
分享一张壁纸