Как структурировать импорт DLL более одного раза с помощью ctypes и python3? - PullRequest
0 голосов
/ 04 октября 2018

Я использую ctypes и python3.

У меня есть класс, в котором я хочу иметь возможность вызывать методы, использующие функции из DLL, поэтому я загружаю DLL в этот класс init следующим образом и может получить к нему доступ оттуда.

class example():
    def __init__():
        self.library = ctypes.cdll(example.dll)

    def method_1(self):
        do_something = self.library.FUNCTION(etc...)

Что хорошо, DLL будет загружаться при каждом экземпляре и может использоваться.Однако затем у меня есть некоторые другие функции, которых нет в классе:

def func_outside_class():
    library = ctypes.cdll(example.dll)
    do_something_else = library.FUNCTION(etc)

Поэтому у меня есть несколько таких функций вне класса, и я хочу знать, является ли плохой практикой вызывать cdll в той же библиотекебольше чем единожды?Это не совсем правильно для меня.Конечно, я мог бы вызвать его один раз и передать экземпляр экземплярам функций / классов при создании, но я хотел бы иметь возможность импортировать их для использования в другом месте, поэтому мне нравится, что он красиво содержится.

Есть идеи?Рад, что это нормально, но я не могу не думать, что есть более элегантное решение.

Ура!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...