os删除文件或者文件夹
最近在使用os.remove
删除目录时报错了,这里记录下os操作文件或者目录的常用方法
- 递归删除文件或文件夹
import shutil
shutil.rmtree()
-
文件的重命名
os.rename('a.txt','b.txt')
-
文件的删除
os.remove('./abc/a.txt') 只能删除文件
- 删除目录会报错:
PermissionError: [WinError 5] 拒绝访问。: '111'
-
创建目录
os.mkdir('xxx')
os.mkdir('aaa/bbb')
#aaa必须存在才能创建成功 -
递归创建目录
os.makedirs('111/222/333')
os.makedirs('111/222/333',exist_ok=True)
#存在就不会创建了 -
删除目录
os.rmdir('aaa/bbb')
#删除aaa目录下的bbb目录
只能删除空目录,否则会报错 -
删除多级目录
若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推。
如果上一层目录不为空则停止删除文件。如果333不为空则报错。
os.removedirs('111/222/333')
-
获取当前目录
os.getcwd()
-
获取目录列表
os.listdir()
-
切换目录
os.chdir()
-
判断文件或者文件夹是否存在
os.path.exists('111/222')
-
判断是否为文件
os.path.isfile()
-
判断是否为文件夹
os.path.isdir()
-
获取绝对路径
os.path.abspath()
-
判断是否为绝对路径
os.path.isabs()
-
获取路径的最后部分
os.path.basename()
-
获取路径的路径部分
os.path.dirname()
-
获取文件信息
- getatime 返回path所指向的文件或者目录的最后访问时间
import os import time # 最后访问时间 ret = os.path.getatime('file') ret1 = time.strftime('%Y-%m-%d %X',time.gmtime(ret)) print(ret1) # 2019-01-10 12:26:55
- getctime()查看文件创建时间,返回时间戳
ret = os.path.getctime('file') print(ret)
- getsize()查看文件大小
ret = os.path.getsize('file/node.txt') print(ret)
- getmtime()返回path所指向的文件或者目录的最后修改时间
ret = os.path.getmtime('file') print(ret) # 1547123215.5290873