python检查目录是否存在,然后根据需要创建它并将图形保存到新目录?

Python check if a directory exists, then create it if necessary and save graph to new directory?

本问题已经有最佳答案,请猛点这里访问。

所以我希望它独立于使用代码的计算机,所以我希望能够在当前目录中创建一个目录,并将我的绘图保存到新文件中。我看了其他一些问题,并尝试了这个(我有两次尝试,一次被评论了):

1
2
3
4
5
6
7
8
9
10
11
12
    import os
    from os import path
    #trying to make shift_graphs directory if it does not already exist:

    if not os.path.exists('shift_graphs')
        os.mkdirs('shift_graphs')

    plt.title('Shift by position on '+str(detector_num)+'-Detector')
    #saving figure to shift_graphs directory
    plt.savefig(os.path.join('shift_graphs','shift by position on '+str(detector_num)+'-detector'))
    print"plot 5 done"
    plt.clf

我得到错误:

1
AttributeError: 'module' object has no attribute 'mkdirs'

我还想知道我把它保存到目录中的想法是否可行,因为在上面的部分中我遇到了错误,所以我无法测试它。


os.mkdirs()不是操作系统模块中的一种方法。如果只创建一个目录,则使用os.mkdir(),如果有多个目录,则尝试使用os.makedirs()。检查文档


您要找的是:

MKDIR

或奥斯卡

https://docs.python.org/2/library/os.html网站

os.makedirs生成所有目录,因此如果我键入shell(什么也不得到):

1
2
3
4
5
6
7
8
$ ls
$ python
>>> import os
>>> os.listdir(os.getcwd())
[]
>>> os.makedirs('alex/is/making/a/path')
>>> os.listdir(os.getcwd())
['alex']

它生成了所有目录和子目录。mkdir会给我一个错误,因为没有"alex/is/making/a"目录。