Python3基础 os mkdirs 创建多层文件夹
- 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 创建多层文件夹的更多相关文章
- Python3基础 os mkdir 创建一层文件夹 在有父目录的情况下创建子目录
		Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ... 
- Windows下使用创建多层文件夹 SHCreateDirectoryEx 函数需要注意的问题
		1.在使用SHCreateDirectoryEx函数创建多层文件夹的过程中,发现在文件夹路径中,只能使用\\而不能使用/,否则将创建文件夹失败. 2.下面为在MFC中使用的代码片段 CString n ... 
- Node  fs 创建多层文件夹
		一.dirname()方法 1. 获得路径当中最后一段文件或文件夹所在的路径.多次调用path.dirname将会逐层返回上级目录 var path=require("path") ... 
- VC 快速创建多层文件夹
		BOOL CreateDirectory( LPCTSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); 这个是大多数用户都知道的 ... 
- Python3基础 os.path.getsize 获得文件的大小
		Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ... 
- java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件) 多层文件夹情况统计文件和文件夹的数量 统计已知类型的数量 未知类型的数量
		package com.swift.kuozhan; import java.io.File; import java.io.FileFilter; /*使用文件过滤器筛选将指定文件夹下的小于200K ... 
- Python 创建递归文件夹
		# 创建递归文件夹 def createfiles(filepathname): try: os.makedirs(filepathname) except Exception as err: pri ... 
- Unity中一键创建常用文件夹
		Unity中一键创建常用文件夹 说明 项目测试版本Unity5.3. 这个一个小工具:功能非常简单,就是一键给新建工程添加所有文件夹.到此结束. 但是具体咋操作呢? 与把大象装进冰箱一样,三步,下载代 ... 
- MFC 如何创建浏览文件夹的对话框
		如何创建浏览文件夹的对话框 如何创建浏览文件夹的对话框 CString CXXXXDlg::GetOpenfolderPath() { BROWSEINFO bi; ZeroMemory(&b ... 
随机推荐
- Node.js(daemon),tweak(debug ES)/nodejs forever,supervisor--express
			http://www.cnblogs.com/Darren_code/p/node_express.html express -e nodejs-product sudo npm install fo ... 
- Docker处理日志的方法&日志收集工具比较
			测试logstash:docker run -it mylogstash:0.1.0 logstash -e 'input{stdin{}}output{stdout{codec=>rubyde ... 
- <!DOCTYPE html>有什么用?
			<!DOCTYPE html> 是文档声明,必须放在文档第一行,它的作用就是告诉浏览器以哪个html版本来解析你的html代码.当你不写声明的时候,浏览器就会以自己的怪异模式来解析你的ht ... 
- tornado : 异步、非阻塞
			The terms asynchronous and non-blocking are closely related and are often used interchangeably, but ... 
- list的方法、操作
			序号 分类 关键字 / 函数 / 方法 说明 1 增加 列表.insert(索引, 数据) 在指定位置插入数据 列表.append(数据) 在末尾追加数据 列表.extend(列表2) ... 
- LINUX的前后台程序查看切换
			1.在Linux终端运行命令的时候,在命令末尾加上 & 符号,就可以让程序在后台运行 root@Ubuntu$ ./tcpserv01 & 2.如果程序正在前台运行,可以使用 Ctrl ... 
- SQLServer和MySQL job和 event定时器的差别
			SQLServer和MySQL job和 event定时器的差别 
- MSMQ研究
			开发过程记录如下: 1. 本机配置MSMQ ------控制面板-------启动或者关闭Windows功能----默认安装MSMQ即可 注意:本地安装后再VS中才能引用System.Messag ... 
- 实习培训——Java基础(2)
			实习培训——Java基础(2) 1 Java 变量类型 在Java语言中,所有的变量在使用前必须声明.声明变量的基本格式如下: type identifier [ = value][, identi ... 
- EF5.0区别于EF4.0的增删改写法
			// 实现对数据库的添加功能,添加实现EF框架的引用 public T AddEntity(T entity) { //EF4.0的写法 添加实体 //db.CreateObjectSet<T& ... 
