使用PYthon获取当前计算机安装的NX

使用PYthon获取当前计算机安装的NX


一直以来做NXopen的都是以C/C++为主流,但是我并不是专业做开发的,C++本来就是个半吊子,最近总觉得C/C++太麻烦了,想试试Python,总体来讲比C还是要方便很多滴,还没涉及到NXopen 先小试一下。
我的电脑上只装了一个NX12,但是理论上来讲正常安装的NX应该都可以获取到。
因为是遍历遍历了StartMenu目录,所以免安装的和绿色版应该是获取不到,之所以没做全盘遍历是因为Py多线程我还没学会,单线程全盘遍历又会耗时太久。
比较麻烦的是通过快捷方式获取真实路径,百度根本搜不到,卡了好几天,在隔壁404网站才找到的。
因为只有几十行,就没有写类,但是注释里面是包含类的写法,可能缩进改一下就OK了,有兴趣可以自己看看吧!

# -*- coding:utf-8 -*-
'''
Created on 2018年12月19日
@author: Yang
'''
import os,re

def GetShortcutRealPath(LnkPtah):
    import sys
    import win32com.client 
    shell = win32com.client.Dispatch("WScript.Shell")
    shortcut = shell.CreateShortCut(LnkPtah)
    return shortcut.Targetpath

#os.popen(StartMenuPath)
#os.environ.get(ProgramData)
#os.system("start explorer "+StartMenuPath)
#class Getlnk(object):
def GetAllLnk(StartPath,Keyword):
    LnkFile=[]
    TmpLnk=[]
    for AllLnkfile in os.walk(StartPath):
        StrTmpLnkfile = str(AllLnkfile)
        TmpLnkpath = re.findall(r'[a-zA-Z]:\\{2}[\w*\\{2}\s\d.[\u4e00-\u9fa5]+]*', StrTmpLnkfile) #取路径,正则匹配到的是list
        TmpLnk=re.findall(r'[A-Za-z0-9_\-\u4e00-\u9fa5+\s+\d+\w+.]+.lnk', StrTmpLnkfile)#取lnk后缀        
        for i in range(len(TmpLnk)):
            TmpLnkFile=str(TmpLnkpath[0])+"\\"+str(TmpLnk[i])#合并
            TmpLnkFile=TmpLnkFile.replace('\\\\','\\')
            TmpLnkFile=GetShortcutRealPath(TmpLnkFile)
            if Keyword in TmpLnkFile:
                LnkFile.append(TmpLnkFile)
            LnkFile=list(set(LnkFile))
    for i in range(len(LnkFile)):
        #print(i)
        print(LnkFile[i])

if __name__ == '__main__':
    StartPath=os.environ.get('ProgramData')+r"\Microsoft\Windows\Start Menu"
    Keyword="ugraf"
    GetAllLnk(StartPath,Keyword)

Eclipse

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值