精华内容
下载资源
问答
  • ArcGIS Desktop 自带有大量的工具,可以执行各种各样的地理处理任务。...python工具这个话题。 在 ArcGIS 中我们可以通过两种方式来创建python工具: 一种是在标准工具箱下创建 脚本工具: 一种是创建 脚本工具箱

    ArcGIS Desktop 自带有大量的工具,可以执行各种各样的地理处理任务。通过 Python 我们可以灵活地调用这些工具,把工具组织成自己的工作流,甚至创建一些新的工具。今天就说说在 ArcGIS 中创建 python工具这个话题。

    在 ArcGIS 中我们可以通过两种方式来创建python工具:

    一种是在标准工具箱下创建 脚本工具:

    这里写图片描述

    一种是创建 脚本工具箱

    这里写图片描述

    到这里,可能你会有和我一样的疑问,二者有什么 区别

    第一种脚本工具需要我们首先在 ArcGIS 环境中创建一个工具箱,然后添加 Python脚本文件(*.py),并通过向导来精确配置参数。这种工具很适合脚本工具的初学者,通过前面说的三步就可以搭建出一个自定义工具。但是这种模式也有一些缺点,工具箱和源脚本是分离的,我们很难集中的去管理和维护它们。

    相比于前者的难以集中管理的缺点,第二种的Python工具箱就体现出了它的优势。在 Python 工具箱中,参数定义、代码验证和源代码都在同一位置进行处理,因此Python 工具的创建和维护更加容易。此外,Python 工具箱支持脚本工具不支持的功能,例如值表、复合数据类型和自定义许可检查。

    Python 工具箱是在 ArcGIS 10.1 之后的版本出现的。如果你熟悉 Python,就可以充分利用所掌握的 Python 技能来创建 Python 工具箱。


    下面是一些更加具体的对比列表:

      自定义工具箱 Python 工具箱

    组织

    自定义工具箱中的脚本工具被组织成以下三个部分:

    1. 通过向导定义的工具和参数定义。
    2. 对参数行为提供额外控制的可选验证代码,其位于工具箱中。
    3. 在单独的文件中为每个工具维护的源代码,通常作为 Python 脚本 (.py)。

    Python 工具箱是一个具有 .pyt 扩展名的 Python 脚本,其包含工具箱及其工具的所有方面:参数、验证和执行。通过以下 Python 类实现:一个类用于工具箱,一个类用于各工具。

    编辑

    可在任何编辑器中编辑源代码。

    通过脚本工具向导编辑参数。

    如果使用了验证代码,可在编辑器中通过向导编辑验证代码。

    可在任何编辑器中编辑 Python 工具箱文件 (.pyt),而且可在同一位置编辑工具的所有部分(参数定义、验证代码和源代码)。

    由于只能在编辑器中编辑 Python 工具箱,它们不支持在工具箱内或工具箱之间进行复制/粘贴。

    使用其他工具

    自定义工具箱支持各种工具类型,包括 Python 脚本工具、模型工具和内置工具(使用 ArcObjects 和 .NET 等编译型语言构建)。

    Python 工具箱不直接支持其他工具类型;即,无法将模型工具或内置工具添加到 Python 工具箱中。但是,可在 Python 工具箱代码中调用其他工具箱的工具。

    附加功能

    n/a

    Python 工具箱支持 isLicensed 方法,您可以根据设定的条件来控制工具的打开。

    附加安全性

    自定义工具箱中的脚本工具可以将其源代码嵌入工具箱中并使用密码锁定。

    n/a

    ArcGIS Help 中脚本工具的帮助过于枯燥,在这里,我以一个具体的实例来总结构建脚本工具的过程,我要实现的需求是做个快速实现羽化边界效果的小工具,预期得到如下的效果:

    这里写图片描述

    上面效果在ArcMap中完全可以手工运行几个工具实现,但是过程稍微繁琐,那么需求来了,如何做个自定的一键生成羽化边界的小工具?



    1 准备Python脚本文件

    第一步,先写好脚本工具的核心 —— python脚本文件。


    脚本中我希望根据指定环间距自动生成一个9环的缓冲面,然后添加一个字段,用于存储给各个缓冲面的透明度百分比。

    看下图就知道我想做什么了:

    这里写图片描述


    写一个py文件,将要用到的工具串联起来实现自己的需求,大致是下面的样子。这不是最终要做成脚本工具的版本,只是为了预先了解要如何实现,后面还要修改。

    __author__ = 'kikita'
    
    # FileName: EasyFeathering.py
    
    import arcpy
    # arcpy.env.workspace = "D:\something\Data.gdb"
    
    # Script Tool Parameters
    InputFeature = "InterestArea"
    OutputFeature = "OutFeathering"
    SingleRingWidth = 10000
    
    # Some Predefined Parameters
    distances = []
    level = 9
    bufferUnit = "meters"
    NewField = "Percent"
    
    
    # My Easy Feathering function
    for i in range(level):
        distances.append(SingleRingWidth*(i+1))
        i = i+1
    
    print  str(distances)
    print  "Distance Complete!"
    
    arcpy.MultipleRingBuffer_analysis(InputFeature, OutputFeature, distances, bufferUnit, "", "ALL","OUTSIDE_ONLY")
    print  "Success to execute Multi Ring Buffer."
    
    arcpy.AddField_management(OutputFeature,NewField,"double")
    print "Success to add Transparency Percent Field."
    
    arcpy.CalculateField_management(OutputFeature, NewField, "!OBJECTID! *10", "PYTHON", "")
    print "Success to Calculate Transparency Percent Field."
    • 1
    • 17

    2 脚本工具参数配置

    有了py文件之后,如何把它塞进工具箱里呢?

    在ArcMap的Catalog窗口中,找一个自己喜欢的任意文件夹,新建一个Toolbox,然后右键 Add –> Script,进入向导,这些操作如果不了解,可以点这里 查查帮助,照着做即可,不赘述。

    这里写图片描述

    这里我主要说说参数传递。

    我希望做好的工具中,我只去指定三个参数,分别是:输入的兴趣区域面(input Feature ),多环缓冲的环间距(Single Ring width ),输出结果(output Feature )。预览下工具界面:

    这里写图片描述


    那么问题又来了,这三个参数如何从工具界面传给真正执行工具的 python 脚本?我们需要对前面的脚本参数定义部分做个修改,使用 arcpy 提供的 GetParameterAsText()函数即可在工具界面和脚本之间传递参数。用下面的代码替换前面对这三个参数的替换:

    # Script Tool Parameters
    InputFeature = arcpy.GetParameterAsText(0)
    SingleRingWidth = arcpy.GetParameterAsText(1)
    OutputFeature = arcpy.GetParameterAsText(2)

    对应的脚本工具参数配置:

    这里写图片描述

    为工具配置参数的时候,有2个原则需要遵守:

    • 工具对话框中的参数顺序必须与脚本中的参数顺序一致
    • 每个脚本工具参数都有关联的数据类型。ArcGIS的地理处理不会将值发送给数据类型不正确的脚本,从这点上看,脚本工具比下一篇要说到的脚本工具箱多了一个优势,就是,在参数值发送给脚本之前会有数据类型检验。


    修改Python脚本文件后,现在就运行工具,发现可以得到预期的结果:

    这里写图片描述


    但是有点不完美,就是在工具的运行过程中,工具给我返回的信息并不充足,我只知道 “Running Script EasyFeathering …”,而不了解工具在做什么,执行到了哪个步骤。这不是好的体验。

    这里写图片描述

    3 消息

    工具和用户之间的所有沟通均通过消息来实现。接着上一步提出的问题,如何在工具进度窗口中传递消息给用户?

    虽然在开始调试脚本的时候,如开头代码所示,我加了些 Print 语句,方便我了解自己的脚本独立执行时的状态,但是如果运行脚本工具,这些print语句是看不到的。可以使用 ArcPy中提供的有关消息的函数,AddMessageAddWarningAddError等向工具进度条界面发送消息。这里我做了个简单的步骤的消息性提示,以及,如果结果没有记录输出,会提示警告。

    __author__ = 'kikita'
    
    # FileName: EasyFeathering.py
    
    import arcpy
    
    #arcpy.env.workspace = "D:\IncidentSupport2015\something\Data.gdb"
    
    # Get the input values from tool UI
    InputFeature = arcpy.GetParameterAsText(0)
    SingleRingWidth = arcpy.GetParameterAsText(1)
    OutputFeature = arcpy.GetParameterAsText(2)
    
    
    # Some Predefined Parameters
    distances = []
    level = 9
    bufferUnit = "meters"
    NewField = "Percent"
    
    
    # My Easy Feathering function
    for i in range(level):
        distances.append(int(SingleRingWidth)*(i+1))
        i = i+1
    arcpy.AddMessage("Step1 Distance list Complete!")
    
    
    arcpy.MultipleRingBuffer_analysis(InputFeature, OutputFeature, distances, bufferUnit, "", "ALL","OUTSIDE_ONLY")
    arcpy.AddMessage("Step2 Success to execute Multi Ring Buffer.")
    
    arcpy.AddField_management(OutputFeature,NewField,"double")
    arcpy.AddMessage("Step3 Success to add Transparency Percent Field.")
    
    arcpy.CalculateField_management(OutputFeature, NewField, "!OBJECTID! *10", "PYTHON", "")
    
    InputFeatureCount = int(arcpy.GetCount_management(OutputFeature).getOutput(0))
    if InputFeatureCount == 0:
        arcpy.AddWarning("{0} has no features.".format(OutputFeature))
    else:
        arcpy.AddMessage("Step4 Success to Calculate Transparency Percent Field.")
    
    • 2

    这样在工具的执行过程中,我就收到了消息:

    这里写图片描述

    到这里,工具的功能部分就完成了。

    4 显示结果图层

    我进一步希望脚本工具运行之后,自动显示在当前的地图文档中,从而避免重复设置透明度的操作。


    1. 为输出参数配置模板图层。

    这里写图片描述

    1. 在处理设置中,激活设置

    这里写图片描述

    这样在运行工具之后,结果即自动添加显示。

    这里写图片描述

    5 配置路径

    如果是在本机使用脚本工具,一般我们会使用绝对路径,但是如果希望分享自己的工具给别人,就要考虑路径问题,也就是新用户运行脚本工具时,相关的脚本文件和其他用到的资源能否访问到。我的工具按照如下的结构组织:

    这里写图片描述


    在脚本工具的属性中,可以配置存储相对路径引用 py 文件:

    PS:但是不要想太多,这个设置仅仅会将脚本文件所在位置按照相对路径存储,而不会将脚本内部的路径进行转换。

    这里写图片描述


    这个示例中我还需要用到一个图层文件作为模板,如果希望使用相对路径使用,就建议将符号化信息写在脚本内部,而不是在参数窗口中配置。所以,要继续修改下Python脚本文件。

    在脚本文件的最后追加两行代码,我这里将获取与Python脚本文件在相同目录下的lyr文件:

    # Layer files are located in same folder as the .py file
    PythonFilePath = os.path.dirname(__file__)
    params = arcpy.GetParameterInfo()
    params[2].symbology = os.path.join(PythonFilePath, "FeatheringEffectTemplate.lyr")
    
    # Pass message 
    arcpy.AddMessage("Finding Feathering Effect Template Layer ..." +"/n"+ os.path.join(PythonFilePath, "FeatheringEffectTemplate.lyr"))
    

    OK,路径的问题就解决了。



    6 帮助文档

    还可以进一步为工具添加帮助文档,让更多的人了解如何使用这个工具。

    在ArcCatalog 或者ArcMap的Catalog 中,在脚本工具上右键,点击 Item Description 菜单,点击 Edit 就可以对工具的帮助文档进行编辑。

    这里写图片描述

    这样当别人打开你的工具时,就看到帮助喽。

    这里写图片描述


    好啦,关于ArcGIS 中使用脚本工具的过程就说到这里。


    展开全文
  • 在ArcGIS中创建Python工具(三)

    万次阅读 多人点赞 2015-09-10 14:42:43
    从 ArcGIS 10.1 版本开始,我们可以创建 python工具箱 来自定义脚本工具,这种工具箱相比较上一篇提到的标准工具箱。有着独特的优势,具体二者的区别总结过,看这一篇。认识 Python工具箱Python 工具箱 (.pyt) 是一...

    从 ArcGIS 10.1 版本开始,我们可以创建 python工具箱 来自定义脚本工具,这种工具箱相比较上一篇提到的标准工具箱。有着独特的优势,具体二者的区别总结过,看这一篇


    认识 Python工具箱

    Python 工具箱 (.pyt) 是一个简单的文本文件,可以在任何文本编辑器中或者任何 Python IDE 中创建、查看和编辑。要确保 ArcGIS 正确识别 Python 工具箱,工具箱类的名称必须是 Toolbox。在 Toolbox 类的 __init__ 方法中定义工具箱的属性,这些属性包括 alias、label 和 description,我们可以按照 帮助文档 中的模板构建 Python 工具箱模板。

    如下代码中创建了包含一个工具(名为 Tool)的 Python 工具箱:

    import arcpy
    
    
    class Toolbox(object):
        def __init__(self):
            """Define the toolbox (the name of the toolbox is the name of the
            .pyt file)."""
            self.label = "Toolbox"
            self.alias = ""
    
            # List of tool classes associated with this toolbox
            self.tools = [Tool]
    
    
    class Tool(object):
        def __init__(self):
            """Define the tool (tool name is the name of the class)."""
            self.label = "Tool"
            self.description = ""
            self.canRunInBackground = False
    
        def getParameterInfo(self):
            """Define parameter definitions"""
            params = None
            return params
    
        def isLicensed(self):
            """Set whether tool is licensed to execute."""
            return True
    
        def updateParameters(self, parameters):
            """Modify the values and properties of parameters before internal
            validation is performed.  This method is called whenever a parameter
            has been changed."""
            return
    
        def updateMessages(self, parameters):
            """Modify the messages created by internal validation for each tool
            parameter.  This method is called after internal validation."""
            return
    
        def execute(self, parameters, messages):
            """The source code of the tool."""
            return



    动手做做

    下面我就依据这个模板,写一个简单的脚本工具箱。需求是批量裁剪,我希望我只提供一个文件夹或者数据库等这样的工作空间和一个裁剪区域面,就可以批量完成工作空间内全部数据的裁剪工作,并且无视栅格还是矢量,一并裁剪。

    Let the scripting begin ……


    1 创建工具箱

    工具箱的name就是 .pyt 文件的名字,通常我们把工具添加到 ArcToolbox窗口中时会显示工具箱的 label。在 Toolbox 类的 __init__ 方法中定义属性,例如: aliaslabeldescription

    工具作为被添加至 .pyt 中,工具箱的 tools 属性必须设置为包含定义的所有工具列表。比如,需要做ATool,ATool,CTool三个工具,不是写三个脚本,而是创建三个,然后将类名放入列表, self.tools = [ATool,ATool,CTool]


    这里,我仅定义一个工具类 ClipWorkspace,来说明构建过程即可 :

    '''
    Source Name:   ClipWorkspace.pyt
    Author:        Kikita
    Description:   Python tool to clip spatial data in the same workspace by batch.
    '''
    
    import arcpy
    
    # The class name must be "Toolbox" ...
    class Toolbox(object):
        def __init__(self):
    
            self.label = "Clip Workspace Toolbox"
            self.alias = ""
    
            # List of tool classes associated with this toolbox
            self.tools = [ClipWorkspace]
    
    
    class ClipWorkspace(object):
        ……
    


    在 ArcGIS Desktop 中已经可以看到这个工具箱的雏形:

    这里写图片描述


    2 定义工具

    下面就是完善工具内部的代码。我就以 ClipVectorWorkspace 为例。


    每个工具类应至少包括 __init__execute 方法。此外,还可以选择使用 getParameterInfoisLicensedupdateParametersupdateMessages 方法向工具的行为中添加其他控制。

    工具类中的 __init__ 方法是标准 Python 类初始化方法。对于 Python 工具箱中的工具,__init__ 方法用于设置该工具的属性,例如工具的标注、描述、是否允许在后台运行等。

    下面的例子就创建了ClipVectorWorkspace这个工具:

    class ClipWorkspace(object):
    
        def __init__(self):
            self.label = "Clip Workspace"
            self.description = "clip spatial data in the same workspace by batch."
            self.canRunInBackground = True
    

    有了工具的构造函数,我们继续看如何给工具定义参数。在 Python 工具箱 (.pyt) 中,可在工具类的 getParameterInfo 方法中创建 Parameter 对象,并设置对象的属性来定义工具参数。Parameter的属性中datatype
    包含的类型可以在帮助文档中查询,点这里


    此示例中的参数就是输入工作空间(inWorkspace)、裁剪区域面(ClipArea)、输出工作空间(outWorkspace)。

        def getParameterInfo(self):
    
            # Parameter Definitions
            # First parameter - Input Workspace
            param0 = arcpy.Parameter(
                displayName="Input Workspace",
                name="inWorkspace",
                datatype="DEWorkspace",
                parameterType="Required",
                direction="Input")
    
            # Second parameter - Clip Area
            param1 = arcpy.Parameter(
                displayName="Clip Area",
                name="CLipArea",
                datatype="DEFeatureClass",
                parameterType="Required",
                direction="Input")
    
            # Third parameter - Output Workspace
            param2 = arcpy.Parameter(
                displayName="Output Workspace",
                name="outWorkspace",
                datatype="DEWorkspace",
                parameterType="Required",
                direction="Input")
    
            params = [param0,param1,param2]
            return params   

    PS : 在代码中,如果仔细看,或许你会疑惑,为何输出工作空间的方向是 input ,而不是 output? 因为工具最终输出的为 Feature Class 或 Raster,输出工作空间也是作为输入参数传入工具使用的。如果不关心,也可以不在意这些细节…… 继续向下了解工具的构建过程。


    下面就是工具的具体执行部分了,当然里面还加了些辅助了解工具执行状态的消息:

        def execute(self, parameters, messages):
    
            """The source code of the tool."""
    
            # Get tool parameters
            inWorkspace = parameters[0].valueAsText
            arcpy.AddMessage("###Input Workspace is {0}".format(inWorkspace))
    
            ClipArea = parameters[1].valueAsText
            arcpy.AddMessage("###Clip Area is {0}".format(ClipArea))
    
            outWorkspace =  parameters[2].valueAsText
            arcpy.AddMessage("###Out Workspace is {0}".format(outWorkspace))
    
    
            # Clip Feature by Batch
            arcpy.env.workspace = inWorkspace
    
            # Clip Vector
            FeatureClasses = arcpy.ListFeatureClasses()
            arcpy.AddMessage("Input Workspace contains {0}".format(FeatureClasses))
            for fc in FeatureClasses:
                arcpy.AddMessage(">> Clipping  {0}".format(fc))
                arcpy.Clip_analysis(fc,ClipArea, os.path.join(outWorkspace,fc))
                arcpy.AddMessage("{0} has been clipped.".format(os.path.join(outWorkspace,fc)))
    
            # Clip Raster
            Rasters = arcpy.ListRasters()
            arcpy.AddMessage("Input Workspace contains {0}".format(Rasters))
            for Raster in Rasters:
                arcpy.AddMessage(">> Clipping  {0}".format(Raster))
                arcpy.Clip_management(in_raster = Raster,
                                      rectangle = "",
                                      out_raster = os.path.join(outWorkspace,Raster),
                                      in_template_dataset = ClipArea,
                                      nodata_value = "",
                                      clipping_geometry = "ClippingGeometry",
                                      maintain_clipping_extent = "NO_MAINTAIN_EXTENT")
                arcpy.AddMessage("{0} has been clipped.".format(os.path.join(outWorkspace,Raster)))
    
            return
    
    


    到这里,工具的核心部分已经完成,执行下试试。

    这里写图片描述


    OK,应该是预期的结果:

    这里写图片描述


    3 完善

    我们发现不像标准工具箱中的脚本工具和脚本文件本身是散列存储的,python工具箱以及其中的所有工具的代码都在这一个pyt文件中,维护起来便利了不少。如果想在工具箱中继续添加工具,只要继续增加一个工具类即可。

    经过前两步的过程,工具已经可以拿去使用。如果为了工具更友好,还可以继续调整下代码,以便遇到异常的时候,让用户了解更详细的原因,这里就再往下进行了。工具分享给别人,最后只差要丰富下工具文档了,同样在 Python 工具的 Item Description 中编辑。

    这里写图片描述

    展开全文
  • 在ArcGIS中创建Python工具(一)

    万次阅读 2015-08-31 15:16:51
    ArcGIS Desktop 自带有大量的工具,可以执行各种各样的地理处理任务。通过 python 我们可以灵活地调用这些工具,把工具组织成自己的工作流,甚至创建一些新的工具。今天就说说在 ArcGIS 中创建 Python工具这个话题。

    ArcGIS Desktop 自带有大量的工具,可以执行各种各样的地理处理任务。通过 python 我们可以灵活地调用这些工具,把工具组织成自己的工作流,甚至创建一些新的工具。今天就说说在 ArcGIS 中创建 Python工具这个话题。


    在 ArcGIS 中我们可以通过两种方式来创建python工具:

    一种是在标准工具箱下创建 脚本工具:

    这里写图片描述

    一种是创建 脚本工具箱

    这里写图片描述


    到这里,可能你会有和我一样的疑问,二者有什么 区别

    第一种脚本工具需要我们首先在 ArcGIS 环境中创建一个工具箱,然后添加 Python脚本文件(*.py),并通过向导来精确配置参数。这种工具很适合脚本工具的初学者,通过前面说的三步就可以搭建出一个自定义工具。但是这种模式也有一些缺点,工具箱和源脚本是分离的,我们很难集中的去管理和维护它们。

    相比于前者的难以集中管理的缺点,第二种的Python工具箱就体现出了它的优势。在 Python 工具箱中,参数定义、代码验证和源代码都在同一位置进行处理,因此Python 工具的创建和维护更加容易。此外,Python 工具箱支持脚本工具不支持的功能,例如值表、复合数据类型和自定义许可检查。

    Python 工具箱是在 ArcGIS 10.1 之后的版本出现的。如果你熟悉 Python,就可以充分利用所掌握的 Python 技能来创建 Python 工具箱。


    下面是一些更加具体的对比列表:


    自定义工具箱Python 工具箱

    组织

    自定义工具箱中的脚本工具被组织成以下三个部分:

    1. 通过向导定义的工具和参数定义。
    2. 对参数行为提供额外控制的可选验证代码,其位于工具箱中。
    3. 在单独的文件中为每个工具维护的源代码,通常作为 Python 脚本 (.py)。

    Python 工具箱是一个具有 .pyt 扩展名的 Python 脚本,其包含工具箱及其工具的所有方面:参数、验证和执行。通过以下 Python 类实现:一个类用于工具箱,一个类用于各工具。

    编辑

    可在任何编辑器中编辑源代码。

    通过脚本工具向导编辑参数。

    如果使用了验证代码,可在编辑器中通过向导编辑验证代码。

    可在任何编辑器中编辑 Python 工具箱文件 (.pyt),而且可在同一位置编辑工具的所有部分(参数定义、验证代码和源代码)。

    由于只能在编辑器中编辑 Python 工具箱,它们不支持在工具箱内或工具箱之间进行复制/粘贴。

    使用其他工具

    自定义工具箱支持各种工具类型,包括 Python 脚本工具、模型工具和内置工具(使用 ArcObjects 和 .NET 等编译型语言构建)。

    Python 工具箱不直接支持其他工具类型;即,无法将模型工具或内置工具添加到 Python 工具箱中。但是,可在 Python 工具箱代码中调用其他工具箱的工具。

    附加功能

    n/a

    Python 工具箱支持 isLicensed 方法,您可以根据设定的条件来控制工具的打开。

    附加安全性

    自定义工具箱中的脚本工具可以将其源代码嵌入工具箱中并使用密码锁定。

    n/a



    展开全文
  • 推荐5款好用的Python工具

    千次阅读 2018-04-03 17:08:26
    摘要:推荐5个酷毙的Python工具工欲善其事必先利其器,一个好的工具能让起到事半功倍的效果,Python社区提供了足够多的优秀工具来帮助开发者更方便的实现某些想法,下面这几个工具给我的工作也带来了很多便利,推荐...

    摘要:推荐5个酷毙的Python工具

    工欲善其事必先利其器,一个好的工具能让起到事半功倍的效果,Python社区提供了足够多的优秀工具来帮助开发者更方便的实现某些想法,下面这几个工具给我的工作也带来了很多便利,推荐给追求美好事物的你。

    ■Python Tutor

    Python Tutor 是由 Philip Guo 开发的一个免费教育工具,可帮助学生攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。通过这个工具,教师或学生可以直接在 Web 浏览器中编写 Python 代码,并逐步可视化地运行程序。如果你不知道代码在内存中是如何运行的,不妨把它拷贝到Tutor里可视化执行一遍,加深理解。

    地址:http://www.pythontutor.com/

    ■IPython

    IPython 是一个 for Humans 的 Python 交互式 shell,用了它之后你就不想再用自带的 Python shell 了,IPython 支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多实用功能和函数,同时它也是科学计算和交互可视化的最佳平台。

    地址:https://ipython.org/

    ■Jupyter Notebook

    Jupyter Notebook 就像一个草稿本,能将文本注释、数学方程、代码和可视化内容全部组合到一个易于共享的文档中,以 Web 页面的方式展示。它是数据分析、机器学习的必备工具。

    地址:http://jupyter.org/

    ■Anaconda

    Python 虽好,可总是会遇到各种包管理和 Python 版本问题,特别是 Windows 平台很多包无法正常安装,为了解决这些问题,Anoconda 出现了,Anoconda 包含了一个包管理工具和一个Python管理环境,同时附带了一大批常用数据科学包,也是数据分析的标配。

    地址:https://www.anaconda.com/

    ■Skulpt

    Skulpt 是一个用 Javascript 实现的在线 Python 执行环境,它可以让你轻松在浏览器中运行 Python 代码。使用 skulpt 结合 CodeMirror 编辑器即可实现一个基本的在线Python编辑和运行环境。

    地址:http://www.skulpt.org/


    展开全文
  • 如何打开mac自带的python工具

    千次阅读 2018-06-08 13:59:41
    第一步:打开mac的终端第二步:在终端敲“IDLE”回车。第三步:python工具就弹出来了,可以完美使用了。
  • tespeed - 测试网速的Python工具

    千次阅读 2016-06-06 23:17:09
    tespeed是一款有很多特性的python工具,可以在终端在测试网速。根据文档说明,它利用了speedtest.net的服务器,但是用户可以手动指定。 最初作者用php语言写了tespeed工具,并且证明了ISP提供的网络远低
  • foolbox:一款神奇的Python工具

    千次阅读 2017-07-03 11:14:50
    本文和大家分享的主要是python工具箱foolbox相关内容,一起来看看吧,希望对大家学习python有所帮助。  Foolbox简介  Foolbox是一个Python工具箱,它可以创建一些对抗样本从而来迷惑神经网络。 它需要...
  • 在ArcGIS中创建Python工具(二)

    万次阅读 多人点赞 2015-09-02 22:19:08
    上一篇中我们了解到有两种方式在 ArcGIS 中创建 Python工具,这一篇就来看看如何在标准工具箱中创建脚本工具。ArcGIS Help 中脚本工具的帮助过于枯燥,在这里,我以一个具体的实例来总结构建脚本工具的过程,我要...
  • python工具2to3.py的使用

    千次阅读 2016-08-03 18:59:05
    python工具2to3.py的使用
  • QPython3 Pydroid Termux 一 QPython3 官方介绍: QPython3是...此外,它提供了开发工具能让你在Android设备上方便地开发Python项目. 下载地址1: https://www.qpython.com/ 功能页面——解释器——编辑器——pip
  • Python 工具和库整理

    千次阅读 2018-03-02 17:01:10
    管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具。 pyenv – 简单的 Python 版本管理工具。 Vex – 可以在虚拟环境中执行命令。 virtualenv – 创建独立 Python 环境的工具。 ...
  • 图核graph kernel是一种有效的图结构相似度的近似度量方式,针对不同的图结构(labeled graphs, weighted graphs, ... kernel的算法理论,只是简单介绍下其Python工具包graphkernels的安装和使用。 graphkerne
  • mac 默认是python2版本 打开终端 输入IDLE 自动弹出IDLE,完成 python3版本 在终端输入IDLE3 就ok了
  • Python3.4使用MySQL—Python工具连接MySQL

    千次阅读 2016-10-07 21:51:46
    一、搭建MySQL和Python MySQL我使用的版本是:mysql-installer-community-5.7.10.0 官方下载地址:http://dev.mysql.com/downloads/file/?id=460361 选择「No thanks,just start my download.」...
  • 5个酷毙的Python工具

    千次阅读 2018-01-02 00:00:00
    工欲善其事必先利其器,一个好的工具能让起到事半功倍的效果,Python社区提供了足够多的优秀工具来帮助开发者更方便的实现某些想法,下面这几个工具给我的工作也带来了很多便利,推荐给追求美好事物的你。...
  • 贝叶斯优化-Python工具

    千次阅读 2019-03-20 22:22:47
    发现一个很好用的贝叶斯优化Python包,可以用来求最优解和选模型的最优超参数: https://github.com/fmfn/BayesianOptimization 关于贝叶斯优化,请参考 贝叶斯优化论文 ...
  • 最好用的Python工具

    千次阅读 2017-07-23 15:02:31
    1 Requests 请求允许您发送有机的,反馈的HTTP / 1.1请求,而不...您无需向网址手动添加查询字符串,也无需对POST数据进行格式编码。... ... Pillow是广泛流行的Python成像库的端口,或简称PIL。 Pillow可以用来创建复
  • python工具包下载及速度慢问题解决

    千次阅读 2019-03-07 21:44:04
    前提是环境变量中设置的python默认路径为你安装的python,而不是其他工具,例如Anaconda等。 在cmd窗口中,输入命令行 python -m pip install python包 2.在特定路径下下载 在cmd窗口中,切换路径到你python的...
  • 一个python命令行工具,使任何人都能很轻松的从PDF文件中抽取表格数据。 怎样使用Camelot 使用Camelot从PDF文档提取数据非常简单 .Camelot允许你通过调整设置项来精确控制数据的提取过程 .可以根据空白和精度指标来...
  • Python 工具pip的安装使用 xlrd

    千次阅读 2017-08-25 15:28:09
    Python 2.7.9 及后续版本, Python 3.4 及后续版本已经默认安装了pip,所以推荐使用最新版本的PythonPython2或者Python3)就不需要再安装pip了。 至于pip的使用,主要有如下步骤: 打开命令行窗口 ...
  • 本文旨在介绍如何在ArcGIS pro中如何构建toolbox或者python toolbox,下面将分别从这两个工具创建进行介绍,每一步都有详细截图,方便查看学习! 2 普通toolbox创建 在Catalog面板下面的toolboxes,选中右键,选择 ...
  • 遗传编程python工具

    千次阅读 2018-04-15 22:10:41
    deap和gplearn deap document:http://deap.readthedocs.io/en/master/index.html gplearn document:http://gplearn.readthedocs.io/en/latest/index.html 推荐deap
  • Python 工具类与工具函数 —— pair

    千次阅读 2016-09-30 21:31:01
    pair 实现了对二层循环的顺式访问
  • Windows下Python工具包的下载和安装

    千次阅读 2017-06-19 12:04:46
    说明:这个地址中基本上涵盖了python的所有工具包,选择包的时候需要选择与自己操作系统属性一致的包进行下载。 前提:已经安装了python并且python中含有pip工具。查看python下scripts目录下是否含有pip.exe。 ...
  • virtualenv 工具可以创建隔离的python环境 我们经常会遇到两个常见问题 版本依赖 间接许可 版本依赖: 1.假设有一个app,需要libfoo 1.0 的库,另一个app需要libfoo 2.0的库,如何才能把这两个库都安装到/usr...
  • RS编码-Python工具包使用

    千次阅读 2019-05-16 17:22:38
    遇到的问题是使用的工具包返回的编码是bytearray类型,而二维码是二进制01编码,所以本博客主要验证,如何将bytearray类型转为二进制,随机污染,再利用RS编码纠错,最后解码为传递信息。 RS编码使用的工具包戳这里...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 136,841
精华内容 54,736
关键字:

python工具

python 订阅