2011-11-28 36 views
2

是否可以避免將DLL放在與使用它們的腳本相同的目錄中?避免必須將DLL放在CWD中

我希望能夠將DLL放在一個地方,並讓它可以通過任何腳本訪問。

ctypes.CDLL()似乎只發現DLL,如果他們在CWD。將它們放在sys.path中或System32中不起作用。

具體而言,我試圖讓UniCurses找到pdcurses.dll,而不在CWD中。

回答

2

嘗試:

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") 
+1

謝謝!經過上面的嘗試後發現'find_library()'在'ctypes.util'而不是'ctypes'。 – Acorn

+0

橡子,官方文檔同意你,所以我編輯了這篇文章。 http://docs.python.org/library/ctypes.html – user9876

+0

我也剛剛意識到我沒有將CDLL的返回值分配給任何東西,所以它對於ctypes或Python來說是沒用的。 – PaulMcG

相關問題