Comment importer un fichier en python, avec des espaces dans le nom?
Dois-Je tous les espaces dans le nom de fichier à importer, ou est-il une façon de dire import qu'il y a des espaces?
3 réponses
vous devriez enlever les espaces du nom du fichier. Parce que le nom du fichier est utilisé comme identifiant pour les modules importés (i.e. foo.py va être importés en tant que foo) et les identificateurs Python ne peuvent pas avoir d'espaces, ce n'est pas supporté par le import déclaration.
Si vous vraiment besoin de faire cela pour une raison quelconque, vous pouvez utiliser le __import__ fonction:
foo_bar = __import__("foo bar")
ceci importera foo bar.pyfoo_bar. Cela se comporte un peu différent de la import déclaration et vous devriez éviter.
vous pouvez aussi utiliser importlib.import_module fonction, qui est un wrapper autour de __import__.
foo_bar_mod = importlib.import_module("foo bar")
ou
foo_bar_mod = importlib.import_module("path.to.foo bar")
Plus d'info: https://docs.python.org/2/library/importlib.html