python os mkdirs_Python3基础 os mkdirs 创建多层文件夹

本文介绍了Python3中使用os.makedirs创建多层目录的方法,通过示例展示了如何创建目录及其行为,包括已存在目录时的处理。同时,文章提到了os.makedirs在Windows系统下的一些意外情况及注意事项。
摘要由CSDN通过智能技术生成

?

????   Python : 3.7.0

??????   OS : Ubuntu 18.04.1 LTS

??????  IDE : PyCharm 2018.2.4

????? Conda : 4.5.11

???typesetting : Markdown

?

code

[email protected]:~$ source activate py37

(py37) [email protected]:~$ 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)

in ()

----> 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) [email protected]:~$ source deactivate

[email protected]:~$

?

result

[email protected]:~$ 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

[email protected]:~$ tree 1

1

└── 2

└── 3

├── 4

└── 4-1

4 directories, 0 files

[email protected]:~$

?

more knowledge

[email protected]:~$ source activate py37

(py37) [email protected]:~$ 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)

in ()

----> 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) [email protected]:~$ source deactivate

[email protected]:~$

?

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的设计哲学:优雅,明确,简单。提倡用一种方法,最好是只有一种方法来做一件事。 代码的书写要遵守规范,这样有助于沟通和理解。 每种语言都有独特的思想,初学者需要转变思维、踏实践行、坚持积累。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值