• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

gisoracle

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

查找工具

#coding=utf-8
import arcpy

import os
import sys
def strtoList(text):
    text = text.decode('utf-8')
    pList=[]
    for i in text:
        pList.append(i)
    return pList
spath=sys.argv[0]
spath=spath.split("#")[0]
arcpy.AddMessage(u"folder============: " +spath )
workspace =r"F:\tknew106\tool\SPTools.tbx" #spath
findstr = arcpy.GetParameterAsText(0)
orand = arcpy.GetParameterAsText(1).lower()
listtool = []
pList=strtoList(findstr)
for dirpath, dirnames, filenames in arcpy.da.Walk(workspace,topdown=False,datatype="Tool"):
    arcpy.AddMessage(dirpath+"=dirpath"+":========"+str(len(dirnames)))

    for filename in filenames:

        toolname=dirpath+os.sep+filename #os.path.join(dirpath+os.sep+dirnames, filename)
        b=False
        bb=True
        num=len(pList)
        for i in range(num):
             if filename.find(pList[i])>0:
                if orand=="or":
                    b=True
                    break
             else:
                if orand=="and":
                    bb=False
                    break



        if bb and b:
            arcpy.AddMessage(toolname)
            listtool.append(toolname)
#sPath = sys.argv[0]
num=len(listtool)
if num>0:
    arcpy.AddMessage(u"找到:" +findstr+","+ str(num)+"个")
else:
    arcpy.AddMessage(u"没有找到," +findstr)

 

posted on 2019-08-30 12:56  gisai  阅读(170)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3