当前位置: 首页 > 面试题库 >

Python导入DLL

祁俊拔
2023-03-14
问题内容

如何将winDLL导入python并能够使用其所有功能?它只需要双打和字符串。


问题答案:

您已经标记了问题ctype,所以听起来您已经知道答案了。

该ctypes的教程非常出色。阅读并理解该说明后,您将可以轻松完成。

例如:

>>> from ctypes import *
>>> windll.kernel32.GetModuleHandleW(0)
486539264

还有我自己的代码中的一个示例:

lib = ctypes.WinDLL('mylibrary.dll')
#lib = ctypes.WinDLL('full/path/to/mylibrary.dll')
func = lib['myFunc']#my func is double myFunc(double);
func.restype = ctypes.c_double
value = func(ctypes.c_double(42.0))


 类似资料:
  • 问题内容: 我正在导入许多不同的脚本,因此在文件的顶部,它会被导入语句弄得乱七八糟,即: 有没有办法将所有这些都移动到其他地方,然后我要做的就是导入该文件,所以它只是一个干净的导入? 问题答案: 当然有;只需在主文件所在的目录中创建一个名为的文件,然后将导入文件放置在该目录中即可。然后,您可以简单地在主脚本中使用。

  • 问题内容: 所以我得到这个错误 并且你可以看到我进一步使用了相同的import语句,并且可以正常工作吗?关于循环导入是否有一些不成文的规定?如何在调用堆栈的更下方使用同一类? 问题答案: 我认为jpmc26的答案虽然绝非错误,但在循环进口上却过于严格。如果正确设置它们,它们可以正常工作。 最简单的方法是使用语法,而不是。前者几乎总是可以工作,即使包括在内也能使我们重新获得利益。后者只有在中已经定义

  • 问题内容: 我有两个相关的Python“导入”问题。它们很容易测试,但是我想要的答案是语言定义的,而不是特定于实现的,而且我对样式/约定也很感兴趣,所以我在这里问。 1) 如果模块A导入模块B,模块B导入模块C,则模块A中的代码可以引用模块C而不进行显式导入吗?如果是这样,我是否认为这是错误的做法? 2) 如果导入模块ABC,那么是否也导入模块A和AB?如果是这样,按照惯例更好地进行显式表示吗?

  • 问题内容: 我的Python库刚刚将其主模块名称从更改为。对于向后兼容,仍然存在,但是将其导入会引发一些警告。现在,似乎仍然有一些示例程序从旧模块导入,但不是直接导入。 我想找到错误的陈述。有没有什么工具可以让我跟踪导入并找到罪魁祸首而无需费力看所有代码? 问题答案: 使用以下命令启动python解释器: 然后只是grep您的旧模块。

  • 问题内容: 我正在处理自动为我生成的一些python代码。我想避免手动编辑这些python文件,因此避免这个问题/问题: foo.py: boo.py: bar.py: 执行: python.exe bar.py 给出了找不到的错误。但是bar都导入&。不应自动提供给? 有办法吗?如前所述, boo.py 是为我自动生成的,我想避免将import foo添加到 boo.py中 。 谢谢。 问题答案

  • 问题内容: 我想这是一个普遍的问题,如果不能在正确的位置发布,抱歉。 比如说,我有一个import的函数。如果我要多次从另一个文件调用此函数,我是否假设导入也将多次进行?有没有办法仅在模块不存在时才导入? 基本上,我有一个类,它调用从各个文件导入的多个函数,而不是导入整个文件,我认为仅导入该函数会更容易,但是现在我想知道从长远来看是否会令自己头痛进口过多。 问题答案: 正如描述的蟒蛇文档中,当蟒蛇