當前位置:首頁 » 編程語言 » python封裝

python封裝

發布時間: 2022-01-09 08:38:56

㈠ 我現在想把自己寫的python模塊源代碼封裝成dll,然後在別的python腳本里調用,可以嗎

可以的,只要把python模塊轉換成dll模塊,利用Python自帶的ctypes模塊載入調用就行。

ctypes 是Python的外部函數庫。它提供了與 C語言兼容的數據類型,並允許調用 DLL 或共享庫中的函數。可使用該模塊以純 Python 形式對這些庫進行封裝。

ctypes導出了cdll對象,在 Windows 系統中還導出了windll和oledll對象用於載入動態鏈接庫。通過操作這些對象的屬性,你可以載入外部的動態鏈接庫。cdll載入按標準的cdecl調用協議導出的函數,而windll導入的庫按stdcall調用協議調用其中的函數。

(1)python封裝擴展閱讀:

載入調用DLL的相關方法:

1、載入DLL

載入的時候要根據你將要調用的函數是符合什麼調用約定的。

stdcall調用約定:兩種載入方式

Objdll = ctypes.windll.LoadLibrary("dllpath")

Objdll = ctypes.WinDLL("dllpath")

cdecl調用約定:也有兩種載入方式

Objdll = ctypes.cdll.LoadLibrary("dllpath")

Objdll = ctypes.CDLL("dllpath")

其實windll和cdll分別是WinDLL類和CDll類的對象。

2、調用dll中的方法

載入dll的時候會返回一個DLL對象(假設名字叫Objdll),利用該對象就可以調用dll中的方法。 e.g.如果dll中有個方法名字叫Add(注意如果經過stdcall聲明的方法,如果不是用def文件聲明的導出函數或者extern 「C」 聲明的話,編譯器會對函數名進行修改,這個要注意。)

調用:nRet = Objdll.Add(12, 15) 即完成一次調用。

㈡ python如何封裝函數

可以定義一個類,類里定義很多函數(主要用它做什麼)或直接定義函數在一個py文件中
在另一個文件中導入這個那個py包,調用類和方法
就是封裝了

㈢ 如何把Python腳本文件封裝起來

Python | 用Pyinstaller打包發布exe應用
http://jingyan..com/article/a378c960b47034b3282830bb.html

㈣ python 函數如何封裝

不是不可以,只是這樣做沒有意義,另外變數作用域的問題,會使得操作變得很復雜

㈤ 怎麼將python代碼封裝成一個程序

如何將python程序封裝成exe可執行文件

將python程序直接轉成exe程序的方法很多,主流的工具有PyInstaller、cx_freeze、py2exe等,論及優缺點,可謂各有千秋。然而,再好的工具在使用的時候也會遇到各種各樣的問題。這里無法比較哪個好那個壞,不同工具對不同類型程序的處理能力不同,也許你用這個方法轉化出來的程序出問題了,換個方法就行了。本文主要介紹py2exe的安裝和使用。

py2exe的安裝

  • 點此下載和64位python2.7配套版本。

  • 傻瓜式安裝,就是一步一步往下點。

  • py2exe的使用

  • 將python安裝路徑添加到系統環境變數Path值中。(若已添加,請忽略此步)

  • 建立setup.py文件,文件中輸入以下代碼:

  • from distutils.core import setupimport py2exe

  • setup(console=["將要轉換的文件名稱.py"])123

  • 在終端(cmd)輸入以下命令:
    setup.py py2exe
    這樣便完成了從.py文件到 .exe文件的轉換,生成的軟體在dist文件夾內。

  • 這里需要注意的是:不同python程序不能一概而論,具體情況需要具體討論。

    例:當運行出錯,提示缺少sip文件時,setup.py可修改為:

  • from distutils.core import setupimport py2exe

  • setup(console=[{"script":"main.py"}], options={"py2exe":{"includes":["sip"]}})123

  • 例:當你不想dos窗口停留,需要其一閃而過時,setup.py可修改為:

  • from distutils.core import setup

  • import py2exe


  • setup(window=['name.py']) #這里console改為window那麼dos窗口不出現

熱點內容
解壓到當前文件夾右鍵 發布:2024-04-26 03:57:08 瀏覽:979
html5android教程視頻下載 發布:2024-04-26 03:09:59 瀏覽:867
伺服器的描述是什麼 發布:2024-04-26 03:08:32 瀏覽:394
個人加密 發布:2024-04-26 03:01:23 瀏覽:521
linuxusbgadget 發布:2024-04-26 02:52:54 瀏覽:304
我的世界空島世界伺服器地址 發布:2024-04-26 01:39:08 瀏覽:248
尼爾機械紀元加密 發布:2024-04-26 01:37:11 瀏覽:868
在控制台輸出sql語句 發布:2024-04-26 01:08:12 瀏覽:432
動畫java 發布:2024-04-26 01:02:40 瀏覽:12
得力文件夾5302 發布:2024-04-26 00:21:32 瀏覽:91