Python3 - вызов функций из списка - PullRequest
0 голосов
/ 05 февраля 2020

Извините, если это базовый c вопрос, но из-за моих строк поиска (я предполагаю) мне не повезло, что я нашел то, что искал.

Цель: Чего я хочу достичь многопоточному python функциональному бегуну. Однако эти функции находятся в других модулях в других каталогах (но внутри sys.path)

Проблема: проблема в том, что все эти модули подключены, поэтому просто вызвать скрипт py с помощью os.system идеально, поскольку скрипты присоединения теряют способность находить другие модули, которые им требуются.

Можно ли получить результаты функции в другом модуле, где вызываемая функция указана в списке.

Боже, я не уверен, имеет ли это смысл ... Вот небольшая программа с примером os os.system (не то, что я хочу использовать):

Чтобы понять, что я имею в виду, я добавил вызов в "os.system ('python {} / userScripts / {} {}'. format (sysPath, script, sysPath))", как если бы он не был переменной.

import sys, os
import concurrent.futures
sysPath = os.path.dirname(os.path.abspath(__file__))
sys.path.append(sysPath)
from serverInfo import serverInfo
from userScripts import scriptOne, scriptTwo
#Sets the location of the scriptHub.py file as the system path.
def runAnalytic(script):
    os.system('python {}/userScripts/{} {}'.format(sysPath,script,sysPath))
    #return(scriptOne())
    #or if i were to use the variable that i pass:
    #return(script())


#If i wasn't using os.system() then these would simply be the modules i'm calling, e.g test() 
monitoringScripts = ["script1.py","script2.py"]

with concurrent.futures.ThreadPoolExecutor() as executor:
    results = executor.map(runAnalytic, monitoringScripts)
    for result in results:
        print(result)

В любом случае, у кого-нибудь есть идея? Я уверен, что там что-то есть. Я просто еще не нашел.

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