我对python3,ctypes.cdll.LoadLibrary有点困惑。 现在看到以下内容,我有一个名为'_iterative.cpython-36m-x86_64-cygwin.dll'的文件,我写了一个名为'_iterative.py'的python脚本来导入它:
import ctypes
api = ctypes.cdll.LoadLibrary("_iterative.cpython-36m-x86_64-cygwin.dll")
有线部分是,当我在Python REPL中键入这些命令,并列出api的 dir 时,列出当前模块的 dir ,这与当时的情况不同我用import。 更清楚的是,看图片: using REPL commands
任何人都可以解释原因吗?
答案 0 :(得分:0)
因为做import
意味着不仅仅是加载dll。
虽然LoadLibrary
正是如此:只需以可能从那里调用某些内容的方式加载[binary] lib(无保修)。
因此,使用import
,可能(如果导入者提供)获取某些内容(例如dir()
或globals()
),而不仅仅是句柄。< / p>
另一方面,LoadLibrary
并不强迫你在你想要的图书馆中使用pythonic。