Python检查目录是否存在,然后在必要时创建它并将图形保存到新目录?

时间:2015-06-23 16:40:14

标签: python

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

    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

我收到错误:

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

我也想知道我在目录中保存它的想法是否会起作用,由于我在上面部分中遇到的错误,我无法测试。

2 个答案:

答案 0 :(得分:7)

os.mkdirs()不是os模块中的方法。 如果您只制作一个目录,则使用os.mkdir(),如果有多个目录,请尝试使用os.makedirs() 查看Documentation

答案 1 :(得分:2)

您正在寻找:

os.mkdir

或os.makedirs

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

os.makedirs创建所有目录,所以如果我输入shell(并且什么也得不到):

$ ls
$ python
>>> import os
>>> os.listdir(os.getcwd())
[]
>>> os.makedirs('alex/is/making/a/path')
>>> os.listdir(os.getcwd())
['alex']

它已经创建了所有目录和子目录。 os.mkdir会给我一个错误,因为没有“alex / is / making / a”目录。