Python运行DLL文件的方法


Posted in Python onJanuary 17, 2020

什么是DLL文件?

DLL文件为动态链接库(英语: Dynamic-link library, 缩写为DLL)

它是微软公司在微软视窗操作系统中实现共享函数库概念的一种实现方式

先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。

用Python执行DLL文件:

from ctypes import cdll
def run_dll(dll_path, execute_function):
  """
  执行DLL文件内部指定的函数
  :param dll_path: DLL文件的所在路径
  :param execute_function: DLL文件内部要被执行的函数名
  :return:
  """
  dll_object = cdll.LoadLibrary(dll_path) # 实例化DLL对象
  eval('dll_object.{}()'.format(execute_function)) # 调用DLL文件内的指定程序
if __name__ == '__main__':
  path = r'C:\Users\evaliu\Desktop\example.dll'
  run_dll(dll_path=path, execute_function='communication_test')

总结

以上所述是小编给大家介绍的Python运行DLL文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python计算最大优先级队列实例
Dec 18 Python
详解Python中expandtabs()方法的使用
May 18 Python
离线安装Pyecharts的步骤以及依赖包流程
Apr 23 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
Mar 20 Python
numpy找出array中的最大值,最小值实例
Apr 03 Python
python实现音乐下载的统计
Jun 20 Python
详解Python安装tesserocr遇到的各种问题及解决办法
Mar 07 Python
浅谈pyqt5在QMainWindow中布局的问题
Jun 21 Python
python使用pandas抽样训练数据中某个类别实例
Feb 28 Python
Python实现AI自动抠图实例解析
Mar 05 Python
简单了解python shutil模块原理及使用方法
Apr 28 Python
Python使用matplotlib绘制圆形代码实例
May 27 Python
Python3实现mysql连接和数据框的形成(实例代码)
Jan 17 #Python
python如何基于redis实现ip代理池
Jan 17 #Python
解决python gdal投影坐标系转换的问题
Jan 17 #Python
python3 Scrapy爬虫框架ip代理配置的方法
Jan 17 #Python
Python计算机视觉里的IOU计算实例
Jan 17 #Python
python实现百度OCR图片识别过程解析
Jan 17 #Python
Python实现图像的垂直投影示例
Jan 17 #Python
You might like
php构造函数实例讲解
2013/11/13 PHP
PHP中source #N问题的解决方法
2014/01/27 PHP
php中使用PHPExcel读写excel(xls)文件的方法
2014/09/15 PHP
php中字符查找函数strpos、strrchr与strpbrk用法
2014/11/18 PHP
全面解读PHP的人气开发框架Laravel
2015/10/15 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
2016/11/10 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
2017/03/13 PHP
BOOM vs RR BO5 第一场 2.14
2021/03/10 DOTA
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
javascript 面向对象继承
2009/11/26 Javascript
JavaScript 设计模式之组合模式解析
2010/04/09 Javascript
JavaScript的RequireJS库入门指南
2015/07/01 Javascript
JavaScript数据类型学习笔记
2016/01/25 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
Require.JS中的几种define定义方式示例
2017/06/01 Javascript
Angular 向组件传递模板的两种方法
2018/02/23 Javascript
Nodejs实现爬虫抓取数据实例解析
2018/07/05 NodeJs
jQuery Raty星级评分插件使用方法实例分析
2019/11/25 jQuery
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
2017/09/28 Python
python 重定向获取真实url的方法
2018/05/11 Python
Python Django基础二之URL路由系统
2019/07/18 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
HTML5 画布canvas使用方法
2016/03/18 HTML / CSS
使用HTML5 Canvas为图片填充颜色和纹理的教程
2016/03/21 HTML / CSS
技术总监的工作职责
2013/11/13 职场文书
高三自我评价
2014/02/01 职场文书
大学新闻系求职信
2014/06/03 职场文书
路政管理求职信
2014/06/18 职场文书
酒店管理失职检讨书
2014/09/16 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
2016年春季开学典礼新闻稿
2015/11/25 职场文书
python实现腾讯滑块验证码识别
2021/04/27 Python