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的类实例属性访问规则探讨
Jan 30 Python
基python实现多线程网页爬虫
Sep 06 Python
Python 实现数据库(SQL)更新脚本的生成方法
Jul 09 Python
python中将\\uxxxx转换为Unicode字符串的方法
Sep 06 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
Oct 29 Python
python3 实现一行输入,空格隔开的示例
Nov 14 Python
在pycharm上mongodb配置及可视化设置方法
Nov 30 Python
python实现知乎高颜值图片爬取
Aug 12 Python
python3实现高效的端口扫描
Aug 31 Python
flask 实现token机制的示例代码
Nov 07 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
Dec 17 Python
python编程简单几行代码实现视频转换Gif示例
Oct 05 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
给海燕B411配件机起死回生配上件
2021/03/02 无线电
PHP面向对象分析设计的经验原则
2008/09/20 PHP
PHP 引用是个坏习惯
2010/03/12 PHP
php中final关键字用法分析
2016/12/07 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
Prototype使用指南之selector.js
2007/01/10 Javascript
Domino中运用jQuery读取视图内容的方法
2009/10/21 Javascript
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
javascript里模拟sleep(两种实现方式)
2013/01/25 Javascript
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
2014/07/15 NodeJs
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
JavaScript入门基础
2015/08/12 Javascript
轻松掌握JavaScript单例模式
2016/08/25 Javascript
浅析Javascript的自动分号插入(ASI)机制
2016/09/29 Javascript
Node.js常用工具之util模块
2017/03/09 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
v-slot和slot、slot-scope之间相互替换实例
2020/09/04 Javascript
layui使用及简单的三级联动实现教程
2020/12/01 Javascript
[02:25]DOTA2英雄基础教程 生死判决瘟疫法师
2013/12/06 DOTA
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
python实现猜数字游戏(无重复数字)示例分享
2014/03/29 Python
python生成器generator用法实例分析
2015/06/04 Python
详解python实现线程安全的单例模式
2018/03/05 Python
python中sys.argv函数精简概括
2018/07/08 Python
便捷提取python导入包的属性方法
2018/10/15 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
2021/01/12 Python
工程项目经理岗位职责
2013/12/15 职场文书
酒店销售主管岗位职责
2014/01/04 职场文书
学生会主席就职演讲稿
2014/01/14 职场文书
大学生实习证明范本
2014/01/15 职场文书
PHP判断是否是json字符串
2021/04/01 PHP
vue 自定义的组件绑定点击事件
2022/04/21 Vue.js