草庐IT

Python ctypes : loading DLL from from a relative path

coder 2023-05-24 原文

我有一个 Python 模块 wrapper.py,它包装了一个 C DLL。 DLL 与模块位于同一文件夹中。因此,我使用下面的代码来加载它:

myDll = ctypes.CDLL("MyCDLL.dll")

如果我从它自己的文件夹中执行 wrapper.py 这将有效。但是,如果我从其他地方运行它,它就会失败。这是因为 ctypes 计算相对于当前工作目录的路径。

我的问题是,有没有一种方法可以指定 DLL 相对于包装器的路径而不是当前工作目录?这将使我能够将两者一起发布并允许用户从任何地方运行/导入包装器。

最佳答案

可以使用os.path.dirname(__file__)获取Python源文件所在目录。

关于Python ctypes : loading DLL from from a relative path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2980479/

有关Python ctypes : loading DLL from from a relative path的更多相关文章

随机推荐