最近在使用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

os删除文件或者文件夹的更多相关文章

  1. Mac OS删除文件夹和文件的命令

    https://www.jianshu.com/p/0376bf0514e3 2017.08.18 17:27* 字数 219 阅读 16709评论 0喜欢 0 rmdir删除空目录,不过一旦目录非空 ...

  2. python 删除文件和文件夹

    1.删除文件 '''删除文件 ''' def DeleteFile(strFileName): fileName = unicode(strFileName, "utf8") if ...

  3. python中对文件、文件夹的操作需要涉及到os模块和shutil模块。

    创建文件:1) os.mknod("test.txt") 创建空文件2) open("test.txt",w) 直接打开一个文件,如果文件不存在则创建文件 创建 ...

  4. python文件、文件夹操作OS模块

    转自:python文件.文件夹操作OS模块   '''一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Python脚本工作的目录路径: ...

  5. 使用python删除一个文件或文件夹

    使用python删除一个文件或文件夹,需要使用os模块. import osos.remove(path) # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用 ...

  6. 【转】 python 删除非空文件夹

    转自:https://blog.csdn.net/xiaodongxiexie/article/details/77155864 一般删除文件时使用os库,然后利用os.remove(path)即可完 ...

  7. [转]python中对文件、文件夹的操作——os模块和shutil模块常用说明

    转至:http://l90z11.blog.163.com/blog/static/187389042201312153318389/ python中对文件.文件夹的操作需要涉及到os模块和shuti ...

  8. python 文件与文件夹常见操作以及os.walk的用法

    文件操作: In [34]: import os In [35]: os.rename("hello[复件].py","hello111.py")       ...

  9. Python学习笔记(20)-文件和文件夹的移动、复制、删除、重命名

    一,概述 python中对文件和文件夹进行移动.复制.删除.重命名,主要依赖os模块和shutil模块,要死记硬背这两个模块的方法还是比较困难的,可以用一个例子集中演示文件的移动.复制.删除.重命名, ...

随机推荐

  1. LayuiAdmin 单页版关闭当前页面tab的方式-图文

    需要关闭的时候 调用 parent.layui.admin.events.closeThisTabs() 即可执行当前页面的关闭 $.post("/index.php/WebAdmin/Wx ...

  2. WSL2(Ubuntu)安装Docker

    原文链接:https://www.cnblogs.com/blog5277/p/12071400.html 原文作者:博客园--曲高终和寡 *******************如果你看到这一行,说明 ...

  3. IIS7 伪静态 web.config 配置方法【详解】

    IIS7 做伪静态比较的简单方便 1.程序方面 只需要设置web.config 就可以了. 2.服务器需要安装:URL Rewrite 下载地址:http://www.iis.net/download ...

  4. docker本地仓库&镜像

    镜像的命名规则: 1.[冷数据]/[base镜像]例如:ansible,centos 2. lastest{最新的意思}  不是真的(随便命名) 3. [image name]=[repository ...

  5. Lock接口的认识和使用

    保证线程安全演进: synchronized volatile AtomicInteger Lock接口提供的方法: void lock():加锁 void unlock():解锁 void lock ...

  6. 文献阅读 | Molecular Architecture of the Mouse Nervous System

    文章亮点: 按level来管理和分析数据,文章有不同stage,每个stage有不同subtype,这应该是一个真tree,而不只是一个进化树,文章里出现最多的进化树把所有的stage都整合了. 空间 ...

  7. laravel 通过ftp上传的时候报错 Use of undefined constant FTP_BINARY - assumed 'FTP_BINARY

    用Laravel中的filesystems里面的ftp上传文件时报错.在windows上开发,文件上传的时候碰到上面的问题,搜了些资料,发现是php7的ftp拓展默认未开启. filesystems是 ...

  8. Qt动画框架The Animation Framework

    动画框架是Kinetic(运动)项目的一部分,它的目标是提供一中简单的方法创建动画的和流畅的GUI.借助Qt动画属性,可以提供非常自由的动画窗体组件和其他对象(QObjects).动画框架也能被用于图 ...

  9. Git: git tag 使用小结(给发布版本打标记,切换并修改某个历史版本)

    通常在软件发布的时候会打一个tag,用于标注这次发布的相关信息, 这样做的好处是,将来如果这个版本出现了问题,可以通过tag迅速定位到当前版本,进行错误修复. 1. 新建tag $ git tag v ...

  10. layui日历控件设置选择日期不能超过当前日期

    layui.use('laydate', function() { var laydate = layui.laydate; laydate.render({ elem : '#begin', max ...