2
是否可以避免將DLL放在與使用它們的腳本相同的目錄中?避免必須將DLL放在CWD中
我希望能夠將DLL放在一個地方,並讓它可以通過任何腳本訪問。
ctypes.CDLL()
似乎只發現DLL,如果他們在CWD。將它們放在sys.path中或System32中不起作用。
具體而言,我試圖讓UniCurses
找到pdcurses.dll
,而不在CWD中。
是否可以避免將DLL放在與使用它們的腳本相同的目錄中?避免必須將DLL放在CWD中
我希望能夠將DLL放在一個地方,並讓它可以通過任何腳本訪問。
ctypes.CDLL()
似乎只發現DLL,如果他們在CWD。將它們放在sys.path中或System32中不起作用。
具體而言,我試圖讓UniCurses
找到pdcurses.dll
,而不在CWD中。
嘗試:
pdcurses_path = ctypes.util.find_library('pdcurses.dll')
if pdcurses_path:
pdcurses = ctypes.CDLL(pdcurses_path)
else:
raise ImportError("could not locate pdcurses.dll library")
謝謝!經過上面的嘗試後發現'find_library()'在'ctypes.util'而不是'ctypes'。 – Acorn
橡子,官方文檔同意你,所以我編輯了這篇文章。 http://docs.python.org/library/ctypes.html – user9876
我也剛剛意識到我沒有將CDLL的返回值分配給任何東西,所以它對於ctypes或Python來說是沒用的。 – PaulMcG