我可以从 .bat 文件 运行 arcpy 中的 python 脚本吗?

Can I run a python script in arcpy from a .bat file?

我可以从批处理文件中打开 ArcGIS,但为了使脚本 运行 成功,我需要能够 运行 它离开 ArcGIS 中的 python 控制台.我可以将代码复制并粘贴到 ArcGIS 中的 python 控制台中,但我希望能够仅从批处理文件中自动将代码输入到控制台中。我正在使用 ArcGIS 10.6。我应该使用一些文件路径吗? 提前感谢您的任何建议。

欢迎来到 SO 社区。如果我理解正确的话,您确实希望从 ArcGis 控制台执行 运行 python 脚本。您更愿意 windows/linux shell/cmd 中的 运行 脚本,是吗?

简短内容:您应该 python ARCGis 库,您应该将其放入 PYTHONPATH 环境变量中。如果您正确配置 PYTHONPATH 环境,那么您会发现使用 ArcGis 的 运行 python gis_script.py

LONG:有时您会使用 python 中的库。如果你在你的系统中安装了库,在使用这个库之前,python 解释器应该知道这些库。此配置存储在 PYTHONPATH 环境中。 ArcGis 是大型 python 库。

-- 编辑 --

看这里:https://community.esri.com/thread/119922或google:ArcGis PYTHONPATH

这很奇怪,我不认为我理解这里的问题。您想要 运行 Python 在 ArcMap/ArcCatalog 的 Python 控制台中从批处理文件中编写代码? 你想完成什么?

您可以创建一个独立的 Python 脚本,在控制台中加载它并 运行 它。

如果您想安排一些事情,您可以在 PowerShell 或 cmd 中创建 Python 脚本并 运行 它。 如果你想要在 ArcMap/ArcCatalog 中 运行 的东西,你可以创建一个模型或脚本,然后再次可以 运行 在任何地方,把它放在工具箱中,安排它,等等。

如果您是 windows 用户,首先最好有 python.exe 的路径(通常是 C: \Python27\ArcGIS10.x) 在您的环境变量中,以便您可以从任何地方调用它。我认为安装 ArcGIS 时应该更新 PATH。

当您 运行 Python 在控制台中编写代码时,您不需要 import arcpy,但是如果您愿意,则需要导入它运行 例如从命令行。

您可以在此处找到一个很好的 GDB 管理示例: https://desktop.arcgis.com/en/arcmap/10.6/manage-data/geodatabases/using-python-scripting-to-batch-reconcile-and-post-versions.htm

处理绝对路径时要小心,然后确保 运行将脚本放在同一目录中。 如果你想定义一个工作空间(一些 GDB、shapefile 或数据库连接文件),你可以像这样引用它们:

myGdb = r"D:\SomeFolder\MyGDB.gdb"

如果相关,希望对您有所帮助。