2015-06-20 3 views
0

rubyload() Функция загрузки внутри и всего файла ruby в текущем файле и запускает его.
Нагрузка может получить любую строку пути: относительная, статическая, ...
Что в эквивалентной функции для этого в python 3?
есть python эквивалентная функция или нет?
спасибо.Эквивалентная функция рубиновой нагрузки в python

ответ

4

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

wrap аргумент функции рубин load можно моделировать прохождение в новом пространстве имен:

namespace = {} 
execfile(filename, namespace) 
+0

спасибо. что отличает это от 'loader = importlib.machinery.SourceFileLoader (« a »,« /home/a.py ») loader.load_module()' – somename

+1

@unkhown: 'importlib' возвращает новый объект модуля,' execfile() 'does not (он использует текущие глобальные переменные или сопоставление, которое вы передаете как пространство имен). –

+0

Как я могу предотвратить перезагрузку модуля ?. Импорт делает это автоматически, я думаю. при использовании importlib или execfile(). – somename

Смежные вопросы