簡體   English   中英

來自不同平台(Windows,Linux或OS X)的Python加載庫

[英]Python load library from different platform (Windows, Linux or OS X)

我是C語言的Python初學者。 現在,我計划使用在Windows,Linux和OS X上運行的Python + C庫(ctypes)來實現跨平台項目,並且我已經准備好win32.dll,win64.dll,mac_osx.so linux.so文件。

如何通過單個Python(.py)文件加載它們?

我的想法是使用Python OS或平台模塊檢查環境,如下所示(抱歉,這不是真正的Python程序):

  if Windows and X86 then load win32.dll
  else if Windows and X64 then load win64.dll
  else if OSX then load osx.so
  else if Linux then load linux.so

有什么簡單明了的方法可以完成這項工作嗎?

您可以使用ctypes.cdll模塊加載DLL / SO / DYLIB,並使用platform模塊檢測正在運行的系統。

一個最小的工作示例將是這樣的:

import platform
from ctypes import *

# get the right filename
if platform.uname()[0] == "Windows":
    name = "win.dll"
if platform.uname()[0] == "Linux":
    name = "linux.so"
else:
    name = "osx.dylib"

# load the library
lib = cdll.LoadLibrary(name)

請注意,您將需要一個64位python解釋器來加載64位庫和一個32位python解釋器來加載32位庫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM