Я использую 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 в той же библиотекебольше чем единожды?Это не совсем правильно для меня.Конечно, я мог бы вызвать его один раз и передать экземпляр экземплярам функций / классов при создании, но я хотел бы иметь возможность импортировать их для использования в другом месте, поэтому мне нравится, что он красиво содержится.
Есть идеи?Рад, что это нормально, но я не могу не думать, что есть более элегантное решение.
Ура!