Как импортировать файл в python с пробелами в имени?
Я обязательно уберите все пробелы в имени файла, чтобы импортировать его, или есть какой-то способ сказать import
что есть пробелы?
3 ответов
вы должны удалить пробелы из имени файла. Потому что имя файла используется в качестве идентификатора для импортированных модулей (т. е. foo.py
будет импортирован как foo
) и идентификаторы Python не могут иметь пробелов, это не поддерживается import
заявление.
если вы действительно нужно делать это по какой-то причине, вы можете использовать __import__
функция:
foo_bar = __import__("foo bar")
это импорт foo bar.py
as foo_bar
. Это ведет себя немного иначе, чем import
заявление и вы должны избегать его.
Если вы хотите сделать что-то вроде from foo_bar import *
(но с пробелом вместо подчеркивания), вы можете использовать execfile (документы здесь):
execfile("foo bar.py")
хотя лучше избегать пробелов в именах исходных файлов.
вы также можете использовать importlib.import_module
функция, которая является оберткой вокруг __import__
.
foo_bar_mod = importlib.import_module("foo bar")
или
foo_bar_mod = importlib.import_module("path.to.foo bar")