Bienvenue sur IndexError.

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

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

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 (4,958 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 (260 points)
...