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中degrees()方法的使用
May 18 Python
Python用模块pytz来转换时区
Aug 19 Python
Python决策树分类算法学习
Dec 22 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
Jan 29 Python
python单例模式的多种实现方法
Jul 26 Python
Django模板导入母版继承和自定义返回Html片段过程解析
Sep 18 Python
jupyter notebook tensorflow打印device信息实例
Apr 20 Python
OpenCV 之按位运算举例解析
Jun 19 Python
Python中logger日志模块详解
Aug 04 Python
Python绘图实现台风路径可视化代码实例
Oct 23 Python
pandas 操作 Excel操作总结
Mar 31 Python
Python中tkinter的用户登录管理的实现
Apr 22 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通过递归方式复制目录和子目录的方法
2015/03/13 PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
2017/05/08 PHP
jQuery对表单元素的取值和赋值操作代码
2011/05/19 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
实现easyui的datagrid导出为excel的示例代码
2016/11/10 Javascript
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
解决element-ui中下拉菜单子选项click事件不触发的问题
2018/08/22 Javascript
JS实现提示框跟随鼠标移动
2019/08/27 Javascript
微信小程序实现同时上传多张图片
2020/02/03 Javascript
[03:37]2015国际邀请赛第四日现场精彩集锦
2015/08/08 DOTA
[02:46]解说DC:感谢430陪伴我们的DOTA2国际邀请赛岁月
2016/06/29 DOTA
Flask SQLAlchemy一对一,一对多的使用方法实践
2013/02/10 Python
详解Python的Django框架中的模版继承
2015/07/16 Python
python 遍历字符串(含汉字)实例详解
2017/04/04 Python
Python SQL查询并生成json文件操作示例
2018/08/17 Python
Python 3.x基于Xml数据的Http请求方法
2018/12/28 Python
python实现电子产品商店
2019/02/26 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
Python利用for循环打印星号三角形的案例
2020/04/12 Python
Keras-多输入多输出实例(多任务)
2020/06/22 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
appium+python自动化配置(adk、jdk、node.js)
2020/11/17 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
化学专业毕业生自荐信
2013/11/15 职场文书
财务工作个人求职的自我评价
2013/12/19 职场文书
班级旅游计划书
2014/05/03 职场文书
学生安全责任书范本
2014/07/24 职场文书
群众路线组织生活会发言材料
2014/10/17 职场文书
受资助学生感谢信
2015/01/21 职场文书
人事任命通知书
2015/04/21 职场文书
整改通知书格式
2015/04/22 职场文书
医院员工辞职信范文
2015/05/12 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL
MySQL EXPLAIN输出列的详细解释
2021/05/12 MySQL
Go语言入门exec的基本使用
2022/05/20 Golang