2015-11-06 1 views
1

J'ai besoin d'importer un fichier python d'un autre dossier. Pour ce faire, que j'utilise les lignes de code suivantesImpossible d'importer le fichier à cause du nom de fichier

import sys 
sys.path.insert(0, '/home/mininet/Sandbox/mapper') 
from parser import read-dir 

-je obtenir une erreur de syntaxe parce que mon nom de fichier python a un caractère « - »

from parser import read-dir 
        ^
SyntaxError: invalid syntax 

Est-il possible de la contourner?

+0

Référez http://stackoverflow.com/questions/67631/how-to-import-a-module-given-the-full-path –

+2

Pouvez-vous renommer le fichier? 'read-dir' n'est pas un nom de variable valide (c'est une expression de soustraction), mais' read_dir' serait. – Blckknght

Répondre

3

Parce que votre fichier a - caractère dans le nom de fichier. Au lieu de import, utilisez __import__ ou importlib.

Par exemple, j'ai un script appelé h-e-l-l-o.py:

>>> import h-e-l-l-o 
    File "<input>", line 1 
    import h-e-l-l-o 
      ^
SyntaxError: invalid syntax 


>>> import importlib 
>>> importlib.import_module('h-e-l-l-o') 
<module 'h-e-l-l-o' from '/home/kevin/h-e-l-l-o.py'> 


>>> __import__('h-e-l-l-o') 
<module 'h-e-l-l-o' from '/home/kevin/h-e-l-l-o.py'> 
>>>