Зависимости IronPython для скриптов, хранящихся в виде строк

У меня есть приложение C #, которое хранит файлы сценариев Python (* .py) в виде строк. Я загружаю их, используя:

scriptEngine.CreateScriptSourceFromString(code);

Но теперь у меня есть несколько файлов сценариев с зависимостями между ними (импорт). Чтобы обработать зависимости, я мог бы сохранить все строки обратно в файлы в папке и загрузить скрипт, который я хочу выполнить, используя:

scriptEngine.CreateScriptSourceFromFile(filePath);

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

TL; DR: пример того, как это может выглядеть:

myutils.py:

def SomeMethod(p):
    print ('SomeMethod(p=%s)' % p)

script1.py:

import myutils;

if __name__ == '__main__':
    myutils.SomeMethod('script1')

script2.py:

import myutils;

if __name__ == '__main__':
    myutils.SomeMethod('script2')

В моем приложении скрипты хранятся в виде строк. что-то вроде

Dictionary<string, string> filePathToContent = new Dictionary<string, string>();

filePathToContent["myutils.py"] = "..."; // The script file content.
filePathToContent["script1.py"] = "..."; // The script file content.
filePathToContent["script2.py"] = "..."; // The script file content.

Я хочу вызвать script1.py без необходимости сначала сохранять сценарии в папке. Примечание: код является лишь упрощенным примером того, что у меня есть.

Ответы на вопрос(2)

Ваш ответ на вопрос