•        Python : 3.7.0
  •          OS : Ubuntu 18.04.1 LTS
  •         IDE : PyCharm 2018.2.4
  •       Conda : 4.5.11
  •    typesetting : Markdown

code

coder@Ubuntu:~$ source activate py37
(py37) coder@Ubuntu:~$ ipython
Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.4.0 -- An enhanced Interactive Python. Type '?' for help. In [1]: import os In [2]: os.makedirs('/home/coder/1/2/3/4') # 如果目录已经存在则抛出异常 In [3]: os.makedirs('/home/coder/1/2/3/4-1') # 这个不算存在,可以正常运行 In [4]: os.makedirs('/home/coder/1/2/3/4-1') # 抛异常
---------------------------------------------------------------------------
FileExistsError Traceback (most recent call last)
<ipython-input-4-782835991ba7> in <module>()
----> 1 os.makedirs('/home/coder/1/2/3/4-1') # 抛异常 ~/anaconda3/lib/python3.6/os.py in makedirs(name, mode, exist_ok)
218 return
219 try:
--> 220 mkdir(name, mode)
221 except OSError:
222 # Cannot rely on checking for EEXIST, since the operating system FileExistsError: [Errno 17] File exists: '/home/coder/1/2/3/4-1' In [5]: exit
(py37) coder@Ubuntu:~$ source deactivate
coder@Ubuntu:~$

result

coder@Ubuntu:~$ ls -l
总用量 92
drwxr-xr-x 3 coder coder 4096 10月 2 14:30 1
drwxr-xr-x 23 coder coder 4096 9月 30 18:41 anaconda3
drwxr-xr-x 4 coder coder 4096 10月 2 11:57 Desktop
drwxr-xr-x 2 coder coder 4096 10月 1 01:40 Documents
drwxr-xr-x 2 coder coder 4096 10月 1 01:40 Downloads
-rw-r--r-- 1 coder coder 8980 9月 30 17:26 examples.desktop
-rwxrwxr-x 1 coder coder 2354 4月 28 2009 get-fonts.sh
-rw-rw-r-- 1 coder coder 1042 4月 28 2009 get-fonts.sh.zip
drwxr-xr-x 2 coder coder 4096 10月 1 01:40 Music
drwxr-xr-x 3 coder coder 4096 10月 2 14:22 not_exist_dir_father
drwxr-xr-x 3 coder coder 12288 10月 1 17:38 Pictures
drwxr-xr-x 2 coder coder 4096 10月 1 01:40 Public
drwxr-xr-x 11 coder coder 4096 9月 30 18:51 pycharm-2018.2.4
drwxrwxr-x 5 coder coder 4096 10月 2 12:04 PycharmProjects
drwxr-xr-x 3 coder coder 4096 9月 30 22:09 snap
drwxr-xr-x 2 coder coder 4096 10月 1 01:40 Templates
drwxr-xr-x 2 coder coder 4096 9月 30 18:51 ubuntu_software
drwxr-xr-x 2 coder coder 4096 10月 1 01:40 Videos
coder@Ubuntu:~$ tree 1
1
└── 2
└── 3
├── 4
└── 4-1 4 directories, 0 files
coder@Ubuntu:~$

more knowledge

coder@Ubuntu:~$ source activate py37
(py37) coder@Ubuntu:~$ ipython
Python 3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.4.0 -- An enhanced Interactive Python. Type '?' for help. In [1]: os.makedirs('E:\\a\\b\\c') # 小的意外而带来的思考
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-1-ce8df6231567> in <module>()
----> 1 os.makedirs('E:\\a\\b\\c') # 小的意外而带来的思考 NameError: name 'os' is not defined In [2]: import os In [3]: os.makedirs('E:\\a\\b\\c') # 小的意外而带来的思考 In [4]: ls -l
总用量 92
drwxr-xr-x 23 coder coder 4096 9月 30 18:41 anaconda3/
drwxr-xr-x 4 coder coder 4096 10月 2 11:57 Desktop/
drwxr-xr-x 2 coder coder 4096 10月 1 01:40 Documents/
drwxr-xr-x 2 coder coder 4096 10月 1 01:40 Downloads/
drwxr-xr-x 2 coder coder 4096 10月 2 14:28 'E:\a\b\c'/
-rw-r--r-- 1 coder coder 8980 9月 30 17:26 examples.desktop
-rwxrwxr-x 1 coder coder 2354 4月 28 2009 get-fonts.sh*
-rw-rw-r-- 1 coder coder 1042 4月 28 2009 get-fonts.sh.zip
drwxr-xr-x 2 coder coder 4096 10月 1 01:40 Music/
drwxr-xr-x 3 coder coder 4096 10月 2 14:22 not_exist_dir_father/
drwxr-xr-x 3 coder coder 12288 10月 1 17:38 Pictures/
drwxr-xr-x 2 coder coder 4096 10月 1 01:40 Public/
drwxr-xr-x 11 coder coder 4096 9月 30 18:51 pycharm-2018.2.4/
drwxrwxr-x 5 coder coder 4096 10月 2 12:04 PycharmProjects/
drwxr-xr-x 3 coder coder 4096 9月 30 22:09 snap/
drwxr-xr-x 2 coder coder 4096 10月 1 01:40 Templates/
drwxr-xr-x 2 coder coder 4096 9月 30 18:51 ubuntu_software/
drwxr-xr-x 2 coder coder 4096 10月 1 01:40 Videos/ In [5]: # drwxr-xr-x 2 coder coder 4096 10月 2 14:28 'E:\a\b\c'/ In [6]: # 居然创建出了这样名字的文件夹,还没报错...... In [7]: exit
(py37) coder@Ubuntu:~$ source deactivate
coder@Ubuntu:~$

resource

  • [文档] docs.python.org/3
  • [规范] www.python.org/dev/peps/pep-0008
  • [规范] zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_language_rules
  • [源码] www.python.org/downloads/source
  • [ PEP ] www.python.org/dev/peps
  • [平台] www.cnblogs.com
  • [平台] gitee.com


Python具有开源、跨平台、解释型、交互式等特性,值得学习。

Python的设计哲学:优雅,明确,简单。提倡用一种方法,最好是只有一种方法来做一件事。

代码的书写要遵守规范,这样有助于沟通和理解。

每种语言都有独特的思想,初学者需要转变思维、踏实践行、坚持积累。

Python3基础 os mkdirs 创建多层文件夹的更多相关文章

  1. Python3基础 os mkdir 创建一层文件夹 在有父目录的情况下创建子目录

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  2. Windows下使用创建多层文件夹 SHCreateDirectoryEx 函数需要注意的问题

    1.在使用SHCreateDirectoryEx函数创建多层文件夹的过程中,发现在文件夹路径中,只能使用\\而不能使用/,否则将创建文件夹失败. 2.下面为在MFC中使用的代码片段 CString n ...

  3. Node fs 创建多层文件夹

    一.dirname()方法 1. 获得路径当中最后一段文件或文件夹所在的路径.多次调用path.dirname将会逐层返回上级目录 var path=require("path") ...

  4. VC 快速创建多层文件夹

    BOOL CreateDirectory( LPCTSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); 这个是大多数用户都知道的 ...

  5. Python3基础 os.path.getsize 获得文件的大小

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  6. java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件) 多层文件夹情况统计文件和文件夹的数量 统计已知类型的数量 未知类型的数量

    package com.swift.kuozhan; import java.io.File; import java.io.FileFilter; /*使用文件过滤器筛选将指定文件夹下的小于200K ...

  7. Python 创建递归文件夹

    # 创建递归文件夹 def createfiles(filepathname): try: os.makedirs(filepathname) except Exception as err: pri ...

  8. Unity中一键创建常用文件夹

    Unity中一键创建常用文件夹 说明 项目测试版本Unity5.3. 这个一个小工具:功能非常简单,就是一键给新建工程添加所有文件夹.到此结束. 但是具体咋操作呢? 与把大象装进冰箱一样,三步,下载代 ...

  9. MFC 如何创建浏览文件夹的对话框

    如何创建浏览文件夹的对话框 如何创建浏览文件夹的对话框 CString CXXXXDlg::GetOpenfolderPath() { BROWSEINFO bi; ZeroMemory(&b ...

随机推荐

  1. snowflake and uuid

    分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的. 有些时候我们希望能使用一种简单一 ...

  2. 学习计划 mysql 用户管理与权限

    最近在学习数据库的 主从复制 里面涉及到了关于用户及其管理权限的赋予,之前一直没有认真的学习这个. 现在想具体的学习一下. -- 为什么 数据库 要实现多用户管理? 举个最简单的例子,你需要和第三方做 ...

  3. mysql 权限管理 针对某个库 某张表 授权 tables_priv表

    精确到表级别 针对db1的t3表 授予select权限 mysql> grant select on db1.t3 to 'mike'@'localhost'; Query OK, rows a ...

  4. NYOJ-1073 最小值

    http://acm.nyist.net/JudgeOnline/problem.php?pid=1073 # include<stdio.h> # include<stdlib.h ...

  5. requesMapping注解

    java类 package org.springframework.web.bind.annotation; import java.lang.annotation.Documented; impor ...

  6. [Leetcode] 336. Palindrome Pairs_Hard

    Given a list of unique words, find all pairs of distinct indices (i, j) in the given list, so that t ...

  7. Java-使用IO流对大文件进行分割和分割后的合并

    有的时候我们想要操作的文件很大,比如:我们想要上传一个大文件,但是收到上传文件大小的限制,无法上传,这是我们可以将一个大的文件分割成若干个小文件进行操作,然后再把小文件还原成源文件.分割后的每个小文件 ...

  8. c++四种强制类型转化

    c++ 数据类型转换: static_cast dynamic_cast reinterpret_cast const_cast C++ 类型转换(C风格的强制转换): (1)将浮点型数据赋值给整型变 ...

  9. liferay中如何实现自己定义的方法

    大家看到这篇文章是不是很开心啊,我感觉是很开心,我们终于可以按照自己的意愿来写一次代码,在liferay中一些基本的增删改查的代码是自动生成的,然而我们想要实现自己的方法的话,恐怕要费一点劲,你要知道 ...

  10. CRM项目总结-封装PortletURLUtil

    package com.ebizwindow.crm.utils; import java.security.Key; import java.util.List; import javax.port ...