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)
你的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
归档时间: |
|
查看次数: |
107 次 |
最近记录: |