Python os.mkdir()与os.makedirs()的使用区别

os.makedir(path)和os.makedirs(path)

今天工作中将hadoop文件同步到服务器磁盘,由于文件类别目录较多,迁移文件时需要判断是否存在

这里有两个方法os.mkdir(path)和os.makedirs(path)

os.mkdir(path)

他的功能是一级一级的创建目录,前提是前面的目录已存在,如果不存在会报异常,比较麻烦,但是存在即有他的道理,当你的目录是根据文件名动态创建的时候,你会发现他虽然繁琐但是很有保障,不会因为你的一时手抖,创建而创建了双层或者多层错误路径,

import os
os.mkdir('d:\hello')  # 正常
os.mkdir('d:\hello\hi') # 正常

# 如果d:\hello目录不存在
# 则os.mkdir('d:\hello\hi')执行失败

os.makedirs(path)

单从写法上就能猜出他的区别,他可以一次创建多级目录,哪怕中间目录不存在也能正常的(替你)创建,想想都可怕,万一你中间目录写错一个单词.........

import os
os.makedirs('d:\hello')  # 正常
os.makedirs('d:\hello\hi') # 正常

# 如果d:\hello目录不存在
# 则os.makedirs('d:\hello\hi') # 仍然正常

各有优缺点,根据自己需要选择使用。

补充:Python中os.path和os.makedirs的运用(判断文件或文件夹是否存在,创建文件夹)

import os
import numpy as np
data = np.array([1, 2, 3])
if not os.path.exists("./data/"):
  print("# path not exists")
  os.makedirs("./data/")
  if not os.path.exists("./data/data.npy"):
    print("# data.npy not exists")
    np.save("./data/data.npy", data)

print("# path exists? :", os.path.exists("./data/"))
print("# data.npy exists? :", os.path.exists("./data/data.npy"))

运行结果:

# path not exists
# data.npy not exists
# path exists? : True
# data.npy exists? : True

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • python文件和目录操作函数小结

    python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来删除一个文件:os.remove() 删除多个目录:os.removedirs(r"c:\python") 检验给出的路径是否是一个文件:os.path.isfile() 检验给出的路径是否是一个目录:os.path.isdir() 判断是否是绝对路

  • python标准库OS模块详解

    python标准库OS模块简介 os就是"operating system"的缩写,顾名思义,os模块提供的就是各种 Python 程序与操作系统进行交互的接口.通过使用os模块,一方面可以方便地与操作系统进行交互,另一方面页可以极大增强代码的可移植性.如果该模块中相关功能出错,会抛出OSError异常或其子类异常. 注意 如果是读写文件的话,建议使用内置函数open(): 如果是路径相关的操作,建议使用os的子模块os.path: 如果要逐行读取多个文件,建议使用fileinput模

  • python中os操作文件及文件路径实例汇总

    本文实例讲述了python中os操作文件及文件路径的方法.分享给大家供大家参考.具体分析如下: python获取文件上一级目录:取文件所在目录的上一级目录 复制代码 代码如下: os.path.abspath(os.path.join(os.path.dirname('settings.py'),os.path.pardir)) os.path.pardir是父目录,os.path.abspath是绝对路径 举例具体看一下输出: 复制代码 代码如下: print os.path.dirname(

  • 对python中的 os.mkdir和os.mkdirs详解

    创建目录 在Python中可以使用os.mkdir()函数创建目录(创建一级目录). 其原型如下所示: os.mkdir(path) 其参数path 为要创建目录的路径. 例如要在D盘下创建hello的目录 >>> import os >>> os.mkdir('d:\hello') 可以使用os.makedirs()函数创建多级目录. 其原型如下所示: os.makedirs(path) 其参数path 为要创建目录的路径. 如在D盘下创建books的目录,books

  • Python os.mkdir()与os.makedirs()的使用区别

    os.makedir(path)和os.makedirs(path) 今天工作中将hadoop文件同步到服务器磁盘,由于文件类别目录较多,迁移文件时需要判断是否存在 这里有两个方法os.mkdir(path)和os.makedirs(path) os.mkdir(path) 他的功能是一级一级的创建目录,前提是前面的目录已存在,如果不存在会报异常,比较麻烦,但是存在即有他的道理,当你的目录是根据文件名动态创建的时候,你会发现他虽然繁琐但是很有保障,不会因为你的一时手抖,创建而创建了双层或者多层错

  • Python的os包与os.path模块的用法详情

    目录 一.os常用方法 1.获取当前路径os.getcwd() 2.获取指定路径下有哪些文件和目录,os.listdir(path)返回一个list 3.创建目录(一级)os.mkdir(paht) 4.删除文件os.remove(path) 5.递归删除空目录os.removedirs(path) 6.删除空目录os.rmdir(path) 7.创建多级目录os.makedirs(path) 二.os.path常用方法 1.路径拼接os.path.join(path1,path2…) 2.路径

  • golang创建文件目录os.Mkdir,os.MkdirAll的区别说明

    如下所示: os.Mkdir("abc", os.ModePerm) //创建目录 os.MkdirAll("dir1/dir2/dir3", os.ModePerm) //创建多级目录 首先,试图从一个Go可执行文件创建一组嵌套目录(如'dir1/dir2/dir3'),并打印错误出来看看. err:=os.Mkdir("dir1/dir2/dir3",os.ModePerm) if err!=nil{ fmt.Println(err) } r

  • 解决python os.mkdir创建目录失败的问题

    起因 今天使用 python os.mkdir创建目录时遇到的一个小问题: feature_dir = os.path.join(os.getcwd(), 'system', 'feature') if not os.path.exists(feature_dir): os.mkdir(feature_dir) 结果提示错误: OSError: [Errno 2] No such file or directory: '/home/hyb/hyb_speech/2_word/applicatio

  • Python常用模块sys,os,time,random功能与用法实例分析

    本文实例讲述了Python常用模块sys,os,time,random功能与用法.分享给大家供大家参考,具体如下: sys: 介绍:主要包含涉及python编译器与系统交互的函数. 常用函数: import sys print(sys.argv)#本文件名,已经运行该程序时的参数 #[如在命令窗口中python3 mysys.py 参数1 参数2] #那么参数1为sys.argv[1],以此类推 print(sys.version)#python版本号 print(sys.path)#返回模块的

  • Python中常用的os操作汇总

    Python自动的os库是和操作系统交互的库,常用的操作包括文件/目录操作,路径操作,环境变量操作和执行系统命令等. 文件/目录操作 获取当前目录(pwd): os.getcwd() 切换目录(cd): os.chdir('/usr/local/') 列出目录所有文件(ls):os.listdir('/usr/local/') 创建目录(mkdir):os.makedirs('/usr/local/tmp') 删除目录(rmdir):os.removedirs('/usr/local/tmp')

  • Python调用系统命令os.system()和os.popen()的实现

    作为一门脚本语言,写脚本时执行系统命令可以说很常见了,python提供了相关的模块和方法. os模块提供了访问操作系统服务的功能,由于涉及到操作系统,它包含的内容比较多,这里只说system和popen方法. >>> import os >>> dir(os) ['DirEntry', 'F_OK', 'MutableMapping', 'O_APPEND', 'O_BINARY', 'O_CREAT', 'O_EXCL', 'O_NOINHERIT', 'O_RAND

  • python文件目录操作之os模块

    一.os函数目录 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作目录 3 os.chflags(path, flags) 设置路径的标记为数字标记. 4 os.chmod(path, mode) 更改权限 5 os.chown(path, uid, gid) 更改文件所有者 6 os.chroot(path) 改变当前进程的根目录 7 os.close(fd) 关闭文件描述符 fd 8 os.closerange(fd_low, fd

  • Python文件处理、os模块、glob模块

    目录 一.文件基本的操作 1.open() 打开文件 2.read() 读文件 3.write()写文件: 4.with open()方法 二.文件的打开模式 1.文件r打开模式 1.读文本 2.读字节 3.for逐行读取,相当于readline. 4.读方法: 2.文件W打开模式 1.文本模式 2.字节模式 3.写方法: 3.文件a打开模式 4.+可读.可写 三.文件指针操作 1.seek(offset, from_what) :改变当前文件操作指针的位置 2.tell():告诉文件当前位置.

随机推荐