python调用vbs_VBS使用Scripting.Dictionary字典对象

Scripting.Dictionary是个很有用的组件,其创建了类似于Key索引对应Value值的字典对象,并且在其内部提供了快速索引访问的机制,可以让我们通过Key直接索引到指定的Value,比遍历二维数组有效得多。

其在VBScript中是这样访问的。

Dim objDict

Set objDict = WSH.CreateObject("Scripting.Dictionary")

' .Add(key, value)

objDict.Add "a", "value1"

objDict.Add "b", "value2"

objDict.Add "c", "value3"

'直接通过key=b索引到value2

WSH.Echo objDict.Item("b")

objDict.Remove "b" ' 删除索引b及其对应的值

' 以下是遍历字典

Dim objKeys, objItems, i

objKeys = objDict.Keys

objItems = objDict.Items

For i = 0 To objDict.Count -1

WSH.Echo "Key=" & objKeys(i) &_

" AND Value=" & objItems(i)

Next

' 判断指定的key是否存在

If objDict.Exists("b") Then

WSH.Echo "Found it"

Else

WSH.Echo "Not Exists!"

End If

objDict.RemoveAll ' 清空字典内所有的key及其对应value

Set objDict = Nothing

当然在JScript访问的方式一样,但是在遍历这里需要一点点变动。

由于Scripting.Dictionary的Keys和Items的集合返回的是VB安全数组,也就是说JScript访问需要多个转换的步骤,方法就是采用new VBArray()对象,相关信息可以参考MSDN的《VBArray Objects》,当获得VBArray对象后就可以通过getItem方法获取数组元素了,值得注意的是这个VBArray对象自己不创建数组,其只起到一个转换的作用,也可以将其看成是一个操作接口吧。当然其toArray()方法可以将其转换为真正的JScript数组,届时可以直接像操作JScript数组一样操作VBArray转换的对象了。

原文:http://wangye.org/blog/archives/60/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值