定义ctypes的工作目录

问题描述 投票:0回答:1

我使用 ctypes 调用 C DLL 中的函数。我遵循了here的建议,并使用它在我的包装器中打开库:

_lib = CDLL(dirname(__file__)+sep+'library.dll')

但是,库内部调用与 DLL 位于同一目录中的另一个文件。当我从不同位置调用包装器时找不到该文件。我总是必须将文件的副本放在 python 控制台的工作目录中,这可能非常不切实际。

有没有办法为ctypes调用的C DLL定义工作目录?

python ctypes
1个回答
0
投票

您可以临时将dll路径添加到系统路径中:

import os
os.environ['PATH'] = path_to_dlls + os.pathsep + os.environ['PATH']
_lib = CDLL('library.dll')
© www.soinside.com 2019 - 2024. All rights reserved.