脚本工具中的环境与任何其他工具中的环境类似,环境值会传递给脚本工具,而环境值会自动应用到脚本中运行的所有工具。也可设置脚本工具中的环境,从而覆盖所有传递的环境。脚本中设置的环境值仅在脚本执行时适用;传递的环境值保持不变。在以下示例脚本中,脚本中的当前工作空间值将被覆盖。
import arcpy
from arcpy import env
# Print the passed-down current workspace environment setting
#
arcpy.AddMessage("The passed-down current workspace is: %s" % env.workspace)
# Set a new workspace, overriding the passed-down workspace
#
env.workspace = "e:/data/script.gdb"
arcpy.AddMessage("The new current workspace is: %s" % env.workspace)
以下 ArcPy 函数可用于处理环境设置:
独立脚本或被调用脚本
脚本在两种情况下不接收传递的环境设置。第一种情况是在 ArcGIS 应用程序之外运行脚本时,例如,在操作系统命令提示符下。第二种情况是一个脚本调用另一个脚本时:调用脚本无法知道被调用脚本将调用地理处理功能。在这种情况下,可以使用 LoadSettings 函数,该函数可从 XML 文件读取环境设置。