[英]Python 3.6.X: Different values of from timestamp on Windows and Linux
[英]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.