Есть ли способ импортировать модуль Python, хранящийся в структуре данных cStringIO, вместо файла физического диска?
Похоже, мне нужно "imp.load_compiled (name, pathname [, file])", но описание этого метода (и аналогичных методов) содержит следующий отказ от ответственности:
Цитата: «Аргументом файла является файл скомпилированного байта кода, открытый для чтения в двоичном режиме с самого начала. В настоящее время он должен быть реальным файловым объектом, а не определяемым пользователем классом, эмулирующим файл». [1]
Я пытался использовать объект cStringIO вместо реального файлового объекта, но справочная документация верна - можно использовать только настоящий файловый объект.
Любые идеи о том, почему эти модули будут налагать такое ограничение или это просто исторический артефакт?
Могу ли я использовать какие-либо методы, чтобы избежать этого требования к физическому файлу?
Спасибо,
Malcolm
[1] http://docs.python.org/library/imp.html#imp.load_module