为Arcpy添加对Pathlib.path对象的支持

451
4.
04-09-2020 09:20我
地位:打开
苏格塔维斯
偶尔的贡献者

pathlib.似乎是使用Python 3中使用系统路径的首选方法3.我们最近开始使用它代替我们的办公室中的“os.path`”。但是,我们使用它与arcpy遇到它的问题。例如:

Workspace = pathlib.path('c:\ seate path')\'Aleysfolder'\ Connection.sde'与Arcpy.envManager(Workspace = Workspace):通过

抛出此错误:"RuntimeError: Object: error in access environment "

要解决此问题,我们最终将使用str()包装所有路径对象。例如:

Workspace = str(pathlib.path('c:\ seate path')与Arcpy.envManager(Workspace = Workspace)\'另一个鼠标'\'connection.sde'):通过

如果arcpy (Pro版本)原生地处理这些Path对象就太棒了!

标签(2)
4评论
GISTeam4
经过

这将非常感谢。进入Python 3我们希望利用像Pathlib和F字符一样的新东西。

BlakeTerhune
经过 MVP常规贡献者

使用从pathlib创建的路径时,arcpy.da.searchcursor()返回

RuntimeError:'in_table'不是表格或featureclass

如果路径与str()格式化,则它可以正常工作。希望游标和其他相关的方式有一种方式,可以接受来自pathlib的本地对象。请参阅此相关帖子使用pathlib与searchcursor

Joeborgione.
经过 MVP尊敬的贡献者

@BlakeTerhune- 早先读到其他帖子,pathlib的优势是什么?

BlakeTerhune
经过 MVP常规贡献者

@joeborgione.我找到了一个很好的摘要这里。也看到了官方文档比较来自OS模块的路径相关工具。