這篇文章給大家介紹怎么在Python中運(yùn)行DLL文件,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
什么是DLL文件?
DLL文件為動(dòng)態(tài)鏈接庫(英語: Dynamic-link library, 縮寫為DLL)
它是微軟公司在微軟視窗操作系統(tǒng)中實(shí)現(xiàn)共享函數(shù)庫概念的一種實(shí)現(xiàn)方式
先來闡述一下DLL(Dynamic Linkable Library)的概念,你可以簡單的把DLL看成一種倉庫,它提供給你一些可以直接拿來用的變量、函數(shù)或類。在倉庫的發(fā)展史上經(jīng)歷了“無庫-靜態(tài)鏈接庫-動(dòng)態(tài)鏈接庫”的時(shí)代。靜態(tài)鏈接庫與動(dòng)態(tài)鏈接庫都是共享代碼的方式,如果采用靜態(tài)鏈接庫,則無論你愿不愿意,lib中的指令都被直接包含在最終生成的EXE文件中了。但是若使用DLL,該DLL不必被包含在最終EXE文件中,EXE文件執(zhí)行時(shí)可以“動(dòng)態(tài)”地引用和卸載這個(gè)與EXE獨(dú)立的DLL文件。靜態(tài)鏈接庫和動(dòng)態(tài)鏈接庫的另外一個(gè)區(qū)別在于靜態(tài)鏈接庫中不能再包含其他的動(dòng)態(tài)鏈接庫或者靜態(tài)庫,而在動(dòng)態(tài)鏈接庫中還可以再包含其他的動(dòng)態(tài)或靜態(tài)鏈接庫。
用Python執(zhí)行DLL文件:
from ctypes import cdll def run_dll(dll_path, execute_function): """ 執(zhí)行DLL文件內(nèi)部指定的函數(shù) :param dll_path: DLL文件的所在路徑 :param execute_function: DLL文件內(nèi)部要被執(zhí)行的函數(shù)名 :return: """ dll_object = cdll.LoadLibrary(dll_path) # 實(shí)例化DLL對(duì)象 eval('dll_object.{}()'.format(execute_function)) # 調(diào)用DLL文件內(nèi)的指定程序 if __name__ == '__main__': path = r'C:\Users\evaliu\Desktop\example.dll' run_dll(dll_path=path, execute_function='communication_test')python有哪些常用庫
python常用的庫:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。
關(guān)于怎么在Python中運(yùn)行DLL文件就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。