做什么ctypes.cdll.LoadLibrary真的吗?

2024-06-12 04:01:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python3有点困惑,ctypes.cdll.LoadLibrary. 现在看下面,我有一个名为'_迭代.cpython-36m-x86 U 64个-cygwin.dll'我写了一个名为'_迭代.py'要导入它:

import ctypes
api = ctypes.cdll.LoadLibrary("_iterative.cpython-36m-x86_64-cygwin.dll")

有线部分是,当我在pythonrepl中输入这些命令,列出api的dir,列出当前模块的dir,这与我使用import时的情况不同。 为了更清楚,请看图片: using REPL commands

use import

有人能解释一下为什么吗?在


Tags: pyimportapidircpythonctypesx86python3
1条回答
网友
1楼 · 发布于 2024-06-12 04:01:24

因为做import不仅仅意味着加载dll。 而LoadLibrary正是这样做的:只需以一种您可以调用的方式加载一个[binary]lib(没有担保)。在

因此,使用import您可以(如果importee提供)得到一些东西(比如那些dir()或{}),而不仅仅是一个句柄。在

另一方面,LoadLibrary并不要求你在你想要使用的库中成为Python。在

相关问题 更多 >