current_file = "xx.dll"
current_path = os.path.dirname(os.path.abspath(current_file)) # 返回当前目录
dll_path = current_path + "\xx.dll"
dll_path_reserve = dll_path.replace('\', '/')
方式一
方式二
dll = windll.LoadLibrary("G:/autotest_python/common/xx.dll")
其中方式一dll_path_reserve的值 就是'G:/autotest_python/common/ECanVci64.dll'
两种方式在本python文件(a.py)中执行没有报错,当其它文件夹中的python文件调用a.py中的方法时,通过方式一加载dll的方式会报如下错:
E OSError: [WinError 126] 找不到指定的模块。
求解
原因一,可以把文件路径改为绝对路径;把杀毒软件关闭重新操作。
原因二,最基本的解决方式是把相关的DLL 动态库也导进来,这样问题基本就能解决。如果无法确定相关DLL 动态库,引起这类问题的原因很可能是由于你的目标主机没有安装相关的C++环境。解决方法:下载Visual C++ Redistributable运行库,64位版本下载地址为 https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145
可能是路径不对,建议打印出路径来看看