python新建文件夹与路径获取

python 新建文件夹

os.mkdir()os.makedirs()

  • 使用 os.mkdir("log/flylog"),报错如下:

    FileNotFoundError: [WinError 3] 系统找不到指定的路径

  • 发现是mkdir()函数的问题,换成os.makedirs()就ok了。

  • 原因是因为os.mkdir()只能创建一级目录。而os.makedirs()可以创建多级目录。

获取路径并在相应路径创建文件

1
2
3
tmp
|--testdir
|-- foo.py

在tmp目录下运行python testdir/foo.py

  • __file__ 所执行文件相对路径,包含文件名

    输出: testdir/foo.py

  • os.getcwd() 当前工作绝对路径,即程序运行所在目录

    输出: /media/Study/tmp

  • os.path.abspath(__file__),所执行文件绝对路径,包含文件名

    输出: /media/Study/tmp/testdir/foo.py

  • os.path.dirname(__file__),所执行文件相对路径,不包含文件名

    输出: testdir ,如果目录相对跳转层级大于一层 会有./,../等前缀,小于一层输出为空

  • 在所运行文件所在目录创建文件方法: 即在tmp/testdir目录下创建文件

    1
    2
    3
    4
    5
    6
    7
    import os
    newfilename = "foo.txt" #所要创建的文件名
    newdir = os.path.dirname(__file__) #获取相对路径
    newpath = os.path.join(newdir,newfilename) #连接相对路径和文件名

    with open(newpath) as file: #创建文件
    pass

    运行结果:

    1
    2
    3
    4
    tmp
    |--testdir
    |-- foo.py
    |-- foo.txt