如何在创建目录时显示消息?

use*_*458 4 python arcgis python-2.7 arcpy os.path

我正在寻找输入以在创建目录时打印消息.我在混合操作系统环境中,但在我的情况下使用Win 7,python 2.7,ArcGIS 10.2.

下面的代码就功能而言工作正常,如果目录确实存在,屏幕上会出现消息,但是当os.makedirs实际创建非existant目录并且我想要代码时,我无法将消息返回到屏幕要做到这一点.

我使用过谷歌和Stackoverflow,遇到了许多处理os.makdir的例子,但没有发现任何可以解决我的问题,这个问题与检查Dir是否存在类似但不相同

    td = arcpy.env.workspace

    dn1 = "Test" dirmk = td +sep+ dn1

    try:
        os.makedirs(dirmk) except OSError:
        if os.path.exists(dirmk):
            print '\n' + dn1 + " dir already exists so keep on hustlin"
        else:
            print '\n' + "Creating " + dn1
Run Code Online (Sandbox Code Playgroud)

Jom*_*rio 6

你的else条款看起来不合适.在您发布的代码中,只有在OSError发生AND dirmk且不存在时才会打印"正在创建"消息.

在下面的代码段中,如果在创建时没有遇到任何错误,则会打印"已创建"消息dirmk.

td = arcpy.env.workspace

dn1 = "Test"
dirmk = td + sep + dn1

try:
    os.makedirs(dirmk)
except OSError:
    if os.path.exists(dirmk):
        print '\n' + dn1 + " dir already exists so keep on hustlin"
else:
    print '\n' + "Created " + dn1
Run Code Online (Sandbox Code Playgroud)

这是对您的用例满足的现有代码的最小更改.但你可以通过做一些类似于另一个答案中的建议来使这个更简洁和Pythonic:https://stackoverflow.com/a/30180115/460282