Работа с конфиденциальными модулями в коде Python: возможен ли условный импорт?Python

Программы на Python
Ответить
Anonymous
 Работа с конфиденциальными модулями в коде Python: возможен ли условный импорт?

Сообщение Anonymous »

Предположим, у меня есть код Python с исходной папкой src. Внутри этой папки находится подпапка «Конфиденциально» (обычно подмодуль git), которая является конфиденциальной и доступна только избранным пользователям кода.
Я пытаюсь найти надежный способ разобраться с этой конфиденциальной частью кода. Я хочу, чтобы все пользователи могли запускать код, даже если у них нет конфиденциальных исходных файлов.
Мой основной файл будет выглядеть так:

Код: Выделить всё

try:
from src.confidential.function import function
except ImportError:
def function(*args):
return 0, 0

# main code
user_can_access_confidential_code = False
a = 1
b = 2
if user_can_access_confidential_code:
c, d = function(a, b)
Меня не очень устраивает такой способ работы, поскольку он предполагает потенциально большой раздел try/Exception, если там будет много конфиденциальных функций для условного импорта. Кроме того, я не смог найти способ упростить возвращаемую часть функции.
Есть ли эффективный способ справиться с таким условным импортом? Хочу добавить, что хотя в mwe этого и нет, код работает с Numba.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ports-poss
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»