Как выполнить функцию в другом файле и получить return без импорта?

Вызов функции из другого файла и получение ее возвращаемого значения без явного импорта является несколько нетривиальной задачей в Python. Однако, существуют несколько способов, которые можно использовать для решения этой задачи.

1. Использовать модуль importlib. Модуль importlib предоставляет различные функции для динамической загрузки модулей во время выполнения. Используя функцию import_module, вы можете загрузить модуль из другого файла и вызвать его функции. Вот пример кода:

import importlib

# Загрузка модуля из другого файла
module = importlib.import_module("module_name")

# Вызов функции из загруженного модуля и получение возвращаемого значения
result = module.function_name()

# Вывод результата
print(result)

2. Использовать функцию exec. Функция exec в Python выполняет переданный ей код. Вы можете использовать эту функцию, чтобы выполнить функцию из другого файла и получить возвращаемое значение. Вот пример кода:

# Чтение кода из другого файла
with open("file_name.py", "r") as file:
    code = file.read()

# Выполнение кода и сохранение возвращаемого значения
exec(code, globals(), locals())
result = locals()["function_name"]()

# Вывод результата
print(result)

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