美文网首页
mkdir的两个参数

mkdir的两个参数

作者: alue | 来源:发表于2022-07-05 21:17 被阅读0次

处理用户文件上传时,经常遇到的一个错误就是 FileNotFoundError: [WinError 3] 系统找不到指定的路径.

原因分析

往往是我们打算将用户的文件存在比较深的目录里,但其父文件夹并不存在,就会报出这个错误。例如打算将目标文件target.jpg存在D:/foo/bar/下面,最终路径为D:/foo/bar/target.jpg。如果D:/foo/bar/不存在,就会报上述错误。

filename = "D:/foo/bar/target.jpg"
img.save(filename) # 如果D:/foo/bar/不存在,就会报错

那么怎么优雅的解决这个问题呢?
递归的查看父文件夹是否存在,如果不存在,那就先新建父文件夹 —— 这也太不优雅了。
幸好pathlib提供了开箱即用的方法。

解决方法

filename = "D:/foo/bar/target.jpg"
if not filename.parent.exists():
            filename.parent.mkdir(parents=True, exist_ok=True)
img.save(filename) 

利用pathlib的 mkdir(parents=True, exist_ok=True), 能够实现目录的自动创建。

其中参数parents=True表示,如果父目录不存在,则新建父目录。exist_ok=True表示,如果文件夹已存在,那么就不做任何处理,也不抛出异常。

相关文章

  • mkdir的两个参数

    处理用户文件上传时,经常遇到的一个错误就是 FileNotFoundError: [WinError 3] 系统找...

  • [Linux]-mkdir命令 – 创建目录

    语法 mkdir [参数] [目录] 参数

  • (4)mkdir 命令

    命令格式 mkdir [参数] 目录 命令功能 创建文件夹 命令参数 mkdir --help 常用命令 创建目录...

  • admin02-创建目录/文件、别名、删除、移动、复制

    1、创建目录:mkdir mkdir [-p] [/路径/]目录名 mkdir可以创建多个参数,即多个目录 [ro...

  • linux 常用命令

    mkdir (创建目录) 语法: mkdir [-mp] 目录名称 选项与参数 : -m : 创建文件目录时,并指...

  • mkdir,rmdir详解

    mkdir命令的功能是创建一个或多个新的目录 语法: mkdir [option] path 参数: m:对新新建...

  • 总结一

    --命令=参数-命令简写 参数 mkdir -p 父目录也创建 /a/b/ccat 查看tac 倒着查看ta...

  • Linux mkdir命令

    创建目录 mkdir [option] [directory-list] 参数 directory-list为mk...

  • nginx反向代理

    提前准备两个端口号 8003 8004 创建两个文件mkdir tomcat8003mkdir tomcat800...

  • Linux命令积累

    mkdir -p 参数P代表parents,表示递归创建目录。 卸载openjdkrpm -qa|grep jav...

网友评论

      本文标题:mkdir的两个参数

      本文链接:https://www.haomeiwen.com/subject/edxebrtx.html