Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

importer un module qui n'est ni dans mon script ni dans site-package

+1 vote

Je veux importer un module qui est dans D:\Mes Documents dans mon Script qui est dans G:\MonScript.
J'ai essayé les deux propositions suivantes :

sys.path.append("D:\Mes Documents")
import monModule

sys.path.append("D:\MesDocuments")
from MonPackage import monModule

Mais ça ne fonctionne pas. Un idée pour importer mon module ?

demandé 30-Sep-2016 par Reizak (114 points)
edité 30-Sep-2016 par max

sys.path.append(r'D:\Mes Documents') peut-être ?

Utiliser la fonction "__import__" ?

J'ai un peu progresser dans mes recherches et j'ai vu que ce que je voulais faire n'était en fait pas possible.
Mais par curiosité, c'est supposer changer quoi le r dans
r'D: ...' ?

2 Réponses

+1 vote

Utilise :

sys.path.append(r"D:\Mes Documents")

En effet, le \ va être interprété comme caractère spécial sinon.

Par contre, il faudrait que tu postes plus d'infos sur ton arborescence de fichier pour savoir si ton import est correct.

répondu 4-Oct-2016 par Sam (5,000 points)
0 votes

J'utilise le module importlib pour gérer ce genre de choses, et en particulier la fonction specfromfile_location

https://docs.python.org/3/library/importlib.html#importlib.util.spec_from_file_location

répondu 8-Oct-2016 par Poisson (272 points)
...