关于Python调用C+封装的pyd文件

今天接触到用Python调用C++的需求,同事用C++封装好的pyd,主要是用于解析Windows硬件驱动的inf文件信息。

如图:

那么在Python里面如何调用Common.pyd和FileHelper.pyd中的函数呢?

首先,把封装好的接口文件解压后,整个目录放到我的项目中。

我这里只需要调用Common.pyd和FileHelper.pyd中的函数,实现相关功能即可。

这里import很容易遇到路径报错的问题。如图:

这个错误查了下,解决方法:import之前用sys.path.append()方法加入xxx.pyd所在路径,确定当前路径推荐用os.path.realpath('.')。

因为使用Python import 模块时,

先会在模块的搜索path里依次搜索(前面会覆盖之后出现的同名模块),次序为:

1. 程序的主目录(交互模式下当前的工作目录或 脚本文件所在的目录)。

2. 环境变量 PYTHONPATH目录(如果已经进行了设置)。

3. 标准链接库目录(标准库模块所在目录 C:\Python27或C:\Python27\Lib\site-packages 目录中)。

4. 任何放在标准链接库目录中的.pth文件中记录的目录。

我这里是用的第一个方法:

importsys

sys.path.append('D:\\PycharmProjects\\driverIdentify\\module')

然后就能正常调用C++的函数了。

比较简单,已经能正常调用C++封装的.pyd文件中函数,并实现相关功能,后面的实际应用功能还没写。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181129G1JGOM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励