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中的异常处理简明介绍
Apr 13 Python
浅析Python中元祖、列表和字典的区别
Aug 17 Python
python将unicode转为str的方法
Jun 21 Python
Python正则表达式非贪婪、多行匹配功能示例
Aug 08 Python
Python创建对称矩阵的方法示例【基于numpy模块】
Oct 12 Python
解决python使用open打开文件中文乱码的问题
Dec 29 Python
Pythony运维入门之Socket网络编程详解
Apr 15 Python
详解Python二维数组与三维数组切片的方法
Jul 18 Python
Python包,__init__.py功能与用法分析
Jan 07 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
Feb 15 Python
python的reverse函数翻转结果为None的问题
May 11 Python
Python3合并两个有序数组代码实例
Aug 11 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
Terran魔法科技
2020/03/14 星际争霸
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
XAMPP安装与使用方法详细解析
2013/11/27 PHP
解决nginx不支持thinkphp中pathinfo的问题
2015/07/21 PHP
thinkphp5.1框架模板布局与模板继承用法分析
2019/07/19 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
2014/02/21 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
Javascript显示和隐藏ul列表的方法
2015/07/15 Javascript
轻松实现Bootstrap图片轮播
2020/04/20 Javascript
JavaScript中Array对象用法实例总结
2016/11/29 Javascript
JavaScript中错误正确处理方式小结你用对了吗
2017/10/10 Javascript
vue页面离开后执行函数的实例
2018/03/13 Javascript
使用Layui搭建后台管理界面的操作方法
2019/09/20 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
2019/09/28 Javascript
微信内置浏览器图片查看器的代码实例
2019/10/08 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
2019/10/25 Javascript
基于js实现数组相邻元素上移下移
2020/05/19 Javascript
[02:45]DOTA2英雄敌法师基础教程
2013/11/25 DOTA
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Django框架下在视图中使用模版的方法
2015/07/16 Python
简单了解Django模板的使用
2017/12/20 Python
python实现聚类算法原理
2018/02/12 Python
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
Django 实现admin后台显示图片缩略图的例子
2019/07/28 Python
Python使用random模块生成随机数操作实例详解
2019/09/17 Python
基于python plotly交互式图表大全
2019/12/07 Python
python中怎么表示空值
2020/06/19 Python
CSS3 简单又实用的5个属性
2010/03/04 HTML / CSS
深入CSS3 动画效果的总结详解
2013/05/09 HTML / CSS
EQVVS官网:设计师男装和女装
2018/10/24 全球购物
日本必酷网络直营店:Biccamera
2019/03/23 全球购物
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
焊接专业毕业生求职信
2013/10/01 职场文书
销售员试用期自我评价
2014/09/15 职场文书
python opencv通过4坐标剪裁图片
2021/06/05 Python