我对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
有人能解释一下为什么吗?在
因为做
import
不仅仅意味着加载dll。 而LoadLibrary
正是这样做的:只需以一种您可以调用的方式加载一个[binary]lib(没有担保)。在因此,使用}),而不仅仅是一个句柄。在
import
您可以(如果importee提供)得到一些东西(比如那些dir()
或{另一方面,
LoadLibrary
并不要求你在你想要使用的库中成为Python。在相关问题 更多 >
编程相关推荐