导入模块

模块为通常包含函数和类的 Python 文件。ArcPy 由一系列模块提供支持,其中包括以下模块:数据访问模块 (arcpy.da)

制图模块 (arcpy.mp)

元数据模块 (arcpy.metadata)

共享模块 (arcpy.sharing)

Network Analyst 模块(arcpy.nax 和 arcpy.na)

要导入整个模块,请使用“导入”模块:# Import only arcpy.mp

import arcpy.mp

当然,Python 还具有很多其他核心模块和第三方模块。如果还想使用 Python 的核心 os 和 sys 模块,可以使用相似的导入方式:# Import arcpy, os and sys

import arcpy

import os

import sys

在很多情况下,用户可能不想使用整个模块或无需使用整个模块。如果只导入某一模块的一部分,可以使用 from-import 语句。在下例中,将导入 env 类(env 类包含所有地理处理环境)。现在无需以 arcpy.env 的形式访问环境,而可以将其简化为 env。# Import env from arcpy and set the workspace environment

from arcpy import env

env.workspace = 'c:/data'

遵循相同的思路,有时用户可能需要注意:如何对模块或模块的一部分进行标识以使脚本更具可读性,以及对于首选项来说默认名称可能过长。在上述任一情况下,均可以使用 from-import-as 的形式。与先前的示例相同,下面的示例中也将导入 env 类,但会将其指定为 ENV 的名称:# Import env from arcpy as ENV and set the workspace environment

from arcpy import env as ENV

ENV.workspace = 'c:/data'

可以使用相同方式导入制图模块:# Import the mapping module from arcpy as MAP and create an ArcGISProject

# object

from arcpy import mp as MAP

aprx = MAP.ArcGISProject('c:/Projects/YosemiteNP/Yosemite.aprx')

其他版本的导入操作使用 from-import-* 的形式。模块的内容将被直接导入到命名空间中,这表示用户随后可以直接使用所有这些内容,而无需为它们添加前缀。例如:# Import management from arcpy as *

from arcpy.management import *

但是,使用此方法存在一些风险。具有相同名称的其他对象、变量、模块等将被覆盖,另外在使用大型模块时,命名空间可能会变得异常拥挤和杂乱。可以此方式考虑该问题:在下例中,管理模块和分析模块都将被导入为 *。这两个模块都具有裁剪工具。如果现在尝试使用裁剪工具,那么实际使用的会是哪种裁剪工具? 答案是后者,但是此方法可能导致在阅读脚本时出现不确定或难以阅读的情况。# Import the management and analysis modules from arcpy as *

from arcpy.management import *

from arcpy.analysis import *

# Which Clip is it?

Clip('standb4', 'clipcov', 'standby_clip', 1.25)

但是在某些情况下,from-import-* 可以简化代码,例如,在使用 ArcGIS Spatial Analyst extension 的 sa 模块的情况下。sa 模块的优势之一在于,可以在一行中嵌套多个类和函数以生成输出栅格对象。

许可:

以下两个实例都需要 ArcGIS Spatial Analyst extension 来运行。# Import arcpy and the sa module as *

import arcpy

from arcpy.sa import *

# Get input parameters

inRaster1 = arcpy.GetParameterAsText(0)

inRaster2 = arcpy.GetParameterAsText(1)

inRaster3 = arcpy.GetParameterAsText(2)

outRaster = (Raster(inRaster1) + (Raster(inRaster2) - Raster(inRaster3)))

现在比较下一个代码块,此代码块使用常规 import-from 语句。现在假设再向代码中添加一些类和函数。即使为每个函数和类添加 sa,代码的体积也将迅速增加,这将破坏可读性并且使代码行变得更加庞大。# Import arcpy and the sa module

import arcpy

from arcpy import sa

# Get input parameters

inRaster1 = arcpy.GetParameterAsText(0)

inRaster2 = arcpy.GetParameterAsText(1)

inRaster3 = arcpy.GetParameterAsText(2)

outRaster = (sa.Raster(inRaster1) + (sa.Raster(inRaster2) - sa.Raster(inRaster3)))

python 2.7导入arcpy_导入 ArcPy相关推荐

  1. python不同层级模块的导入和文件的读写

    python不同层级模块的导入和文件的读写(2-201812103) 1 python 在不同层级目录import 模块的方法 2 python中文件的读写 1 python 在不同层级目录impor ...

  2. python模块与包的导入

    python模块与包的导入 1. 模块与包的区别 模块,即module,一个包含python语句的.py文件就是一个模块!每个源代码文件都会自动成为模块!没有额外的语法用来声明模块. 包,又称模块包, ...

  3. Python编程语言学习:包导入和模块搜索路径简介、使用方法之详细攻略

    Python编程语言学习:包导入和模块搜索路径简介.使用方法之详细攻略 目录 包导入和模块搜索路径简介 1.Pyhon搜索模块路径的机制 2.自定义配置搜索路径

  4. 成功解决:将后缀.pyx格式文件(linux环境)编译成pyd文件(windows环境下)实现python编程加载或导入

    成功解决:将后缀.pyx格式文件(linux环境)编译成pyd文件(windows环境下)实现python编程加载或导入 目录 解决问题 解决思路 解决方法 解决问题 .pyx格式文件,在window ...

  5. 【Python3】Python模块与包的导入

    [Python3]Python模块与包的导入 一.模块导入 1. 定义 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语 ...

  6. python笔记-1(import导入、time/datetime/random/os/sys模块)

    python笔记-6(import导入.time/datetime/random/os/sys模块) 一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其它内 ...

  7. python读取matlab矩阵_matlab、python中矩阵的互相导入导出方式

    还有一种最流行的h5py.. 过几天更新 ------------在python中导出矩阵至matlab------------ 如果矩阵是mxn维的. 那么可以用 : np.savetxt('dev ...

  8. python标准库不需要导入即可使用其中的所有对象和方法_2021智慧树网课答案创业基础考试期末答案...

    加入塞利凡诺夫试剂并加热能迅速出现红色的物质为(). A design career might be a good choice forsomeone who likes art.A. TrueB. ...

  9. python数据导入之导入各类文件方法

    ​ python数据导入之导入各类文件方法 01.csv的导入方法 1.如果数据是很规范的那种的话,而且文件不算太大的话,可以用以下代码导入即可: import pandas as pd csv_da ...

  10. python标准库不需要导入即可使用其中的所有对象和方法_Python程序设计-中国大学mooc-题库零氪...

    <Python程序设计基础>课程导学 单元测验 1.下面属于Python应用领域的有? A.数据分析 B.云计算 C.开发操作系统 D.网络安全 E.树莓派 F.数据可视化 2.在Wind ...

最新文章

  1. 大厂程序媛的特殊烦恼:男朋友工资只有自己的60%,天天阴阳怪气!
  2. 独家 | 数据科学机器学习面试题,来挑战吧~
  3. 三星i8150 刷机
  4. python web server comparison
  5. 聚焦数字货币的发展与监管
  6. 三门科目分析信息系统项目管理师如何备考
  7. OpenSSL 之 RSA 相关命令学习笔记
  8. linux添加windows网络打印机,Linux Mint如何添加windows分享的网络打印机?
  9. python遍历dataframe中的每个字符_pandas中遍历dataframe的每一个元素的实现
  10. [Python] L1-038. 新世界 团体程序设计天梯赛GPLT
  11. NHibernate初探(一)简单且完整的示例
  12. 第三部分:Android 应用程序接口指南---第一节:应用程序组件---第一章1-1.Fragment...
  13. 解决虚拟机桥接模式无法上网的问题
  14. Java Web 2.1.4 HTML 表单标签与表单设计 (实例)
  15. 机器人动力学建模之理解惯性张量
  16. word文档设置页眉页脚的技巧
  17. 咱张家界桑植的野外小吃
  18. 什么是SEO,新手SEO须知!
  19. c语言动态与静态分配内存空间的区别
  20. 内部存储器——①静态存储器

热门文章

  1. Unity3D不同脚本函数或参数之间调用
  2. 网管服务器和网管终端,网管员须知:二、三、四、七层交换技术区别
  3. 如何进行windows数据恢复呢
  4. java打架游戏_初学JAVA 好玩的打架小游戏代码 -
  5. Python基础之文件读写和列表字典使用 ——《侠客行》文本分析
  6. 我的数据分析入门整理(一)
  7. iconfont阿里巴巴矢量图标库使用步骤
  8. Python通过SSH下载远程服务器文件
  9. 蓝牙耳机测试软件apk_蓝牙耳机电量显示app下载
  10. java三大框架介绍