Python运行DLL文件的方法

什么是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文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • 用Python遍历C盘dll文件的方法

    python 的fnmatch还真是省心,相比于 java 中的FilenameFilter,真是好太多了,你完成不需要去实现什么接口. fnmatch 配合 os.walk() 或者 os.listdir() ,你能做的事太多了,而且用起来相当 easy. # coding: utf-8 """ 遍历C盘下的所有dll文件 """ import os import fnmatch def main(): f = open('dll_list.t

  • Python获取DLL和EXE文件版本号的方法

    本文实例讲述了Python获取DLL和EXE文件版本号的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: import win32api def getFileVersion(file_name):     info = win32api.GetFileVersionInfo(file_name, os.sep)     ms = info['FileVersionMS']     ls = info['FileVersionLS']     version = '%d.%d

  • 解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题

    错误提示图片 首先,我的操作系统是win7旗舰版,安装Python3.7.1之后启动时,提示如图错误,网上比较多的是两种处理方法: (1)安装Windows补丁程序 (2)安装VC redit.exe 第一种方案我这边下载了KB3118401.KB2999226,但是双击安装的时候安装不了:第二种方案大家都推荐的是安装v++2015,也安装成功了,但是安装后仍然报错. 然后看着网上的推荐时间都比较早,我这边考虑是不是安装2017版本的会解决问题,因为2017除了兼容2015之外还有其他的一些东西

  • python引用DLL文件的方法

    本文实例讲述了python引用DLL文件的方法.分享给大家供大家参考.具体分析如下: 在python中调用dll文件中的接口比较简单,如我们有一个test.dll文件,内部定义如下: extern "C" { int __stdcall test( void* p, int len) { return len; } } 在python中我们可以用以下两种方式载入 1. import ctypes dll = ctypes.windll.LoadLibrary( 'test.dll' )

  • Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题

    1 调试过程 用Python3.6+Sciter+PyCharm写了一个py测试脚本helloworld.py,该脚本中只含有一条语句"import sciter".在PyCharm中运行之,未报错. #helloworld.py import sciter 然后将该脚本用PyInstaller打包成exe文件,打包程序pack.py如下: #pack.py from PyInstaller.__main__ import run if __name__ == '__main__':

  • Python运行DLL文件的方法

    什么是DLL文件? DLL文件为动态链接库(英语: Dynamic-link library, 缩写为DLL) 它是微软公司在微软视窗操作系统中实现共享函数库概念的一种实现方式 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量.函数或类.在仓库的发展史上经历了"无库-静态链接库-动态链接库"的时代.静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指

  • python运行脚本文件的三种方法实例

    目录 python脚本执行的3种方法: 方法一:交互模式直接执行语句 方法二:通过脚本输出 方法三:脚本中指定 python 路径,修改文件为可执行文件 总结 python脚本执行的3种方法: (找到自己能够使用的方法,能用的方法就是好方法) 方法一:交互模式直接执行语句 交互模式下直接编写执行 Python语句,不用再创建脚本文件 Windows下: 打开并进入命令提示符-------->输入python并回车-------->即可进入交互模式 Linux 下: 打开终端模拟器-------

  • Python修改MP3文件的方法

    本文实例讲述了Python修改MP3文件的方法.分享给大家供大家参考.具体如下: 用这个程序修改后的MP3比原来要小一些了,因为一张图片被删除了,起到了给MP3"瘦身"的作用.在一些mp3中,每个都有一张400多K的图片,10几个MP3,就相当一个普通MP3文件的大小了. # -*- coding: cp936 -*- """ 将MP3文件中的ID3V2.3部分去掉,以便在MP3机上播放 用法:mp3lcear [源mp3目录] [生成的mp3目录] &q

  • C#生成DLL文件的方法小结

    使用csc命令将.cs文件编译成.dll的过程 很多时候,我们需要将.cs文件单独编译成.dll文件, 操作如下: 打开命令窗口->输入cmd到控制台->cd C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 转到vs.net安装的该目录下->执行csc命令csc /target:library File.cs->在该目录下产生一个对应名字的.dll文件(前提:把.cs文件放到C:\WINDOWS\Microsoft.NET\Framewor

  • 编辑IL文件 修改DLL文件的方法

    如:KS.Gantt.DLL 为例 1.使用ILSpy反编译 工具 2.利用ildasm反编译 KS.Gantt.dll  生成IL中间代码 一般会生成 *.il 和*.res 一些其它资源文件 *.resources 3.然后用记事本修改IL文件 4.然后用ilasm编译中间代码,生成新的KS.Gantt.dll 5.在项目中使用 查看效果 破解过程 1 我找到了Gantt 控件的验证的代码 2 利用ildasm反编译 KS.Gantt.dll 3 打开IL文件找到对应的代码然后删除掉 如果不

  • Python生成pdf文件的方法

    本文实例演示了Python生成pdf文件的方法,是比较实用的功能,主要包含2个文件.具体实现方法如下: pdf.py文件如下: #!/usr/bin/python from reportlab.pdfgen import canvas def hello(): c = canvas.Canvas("helloworld.pdf") c.drawString(100,100,"Hello,World") c.showPage() c.save() hello() di

  • linux直接运行py文件的方法

    1.首先创建好文件(cd 到需要放置的目录下) touch myTest.py 2. 编辑myTest.py vi myTest.py 在里面添加内容 #!/usr/bin/env python 然后添加需要添加的代码 print('hello, world!') 然后进入命令模式,:wq保存退出vi 3. 更改myTest.py的权限,根据需要更改,这里主要用于测试,不放设置777 chmod 777 myTest.py 4. 这是可以在当前目录中直接运行myTest.py(类似windows

  • 使用虚拟环境打包python为exe 文件的方法

    使用过anaconda环境下打包py文件的一点感悟,使用的是pyinstaller+anaconda环境下打包py文件 打包: pyinstaller -F -w -i logo.ico xxxx.py -F:强制打包 -w:不带后台命令窗口 -i: 使用logo图标的地址 需要打包的文件 遇到的问题: 1.首先对于使用anaconda打包py文件是存在问题的: 1)打包出来的exe会很大,会打包很多关联库: 2)而其中的一些关联库是没有用,而导入这些库会拖慢程序运行的效率. 解决:使用虚拟环境

  • Pycharm如何运行.py文件的方法步骤

    Pycharm时一个非常好用的IDE,但是一开始的时候甚至会因为.py文件不能运行而束手无策... 这里需要说明一下Pycharm的作用,Pycharm并不是一个像matlab那样什么都自己提供的软件,它更像一个非常棒的搭桥软件:将Python和.py文件连接在一起.所以当你发现.py文件不能运行时,多半是因为.py文件的路径没有添加. 所以你需要将.py文件的路径添加了,一种是手动的方法: 1 点击配置文件 2 点击添加 3 选择python并添加.py文件路径 比如,本文中的设置如下: 当你

随机推荐