Comment puis-je obtenir le chemin du fichier d'un module importé en python? J'utilise Linux (si c'est important). Par exemple: si je suis dans mon répertoire et que j'importe un module, il devrait retourner le chemin complet de mon répertoire personnel.Obtention du chemin de fichier du module importé
Répondre
Cela vous donnera le répertoire du module est:
import foo
os.path.dirname(foo.__file__)
modules et paquets ont un attribut __file__
qui a son chemin d'accès. Si le module a été importé par rapport au répertoire de travail actuel, vous voudrez probablement obtenir son chemin absolu.
import os.path
import my_module
print os.path.abspath(my_module.__file__)
Je me sers ceci:
import inspect
import os
class DummyClass: pass
print os.path.dirname(os.path.abspath(inspect.getsourcefile(DummyClass))
(Edit: Ceci est une fonction « Où suis-je » - il retourne le répertoire contenant le module actuel, je ne suis pas tout à fait sûr si. c'est ce que tu veux).
Pour trouver le chemin de charge des modules déjà chargés:
>>> import sys
>>> sys.modules['os']
<module 'os' from 'c:\Python26\lib\os.pyc'>
Ou, tout simplement, '>>> os'. Vous comptez sur la représentation 'str()' du module. – YvesgereY
J'utilise cette méthode, qui s'applique aux non intégrés et modules intégrés:
def showModulePath(module):
if (hasattr(module, '__name__') is False):
print 'Error: ' + str(module) + ' is not a module object.'
return None
moduleName = module.__name__
modulePath = None
if imp.is_builtin(moduleName):
modulePath = sys.modules[moduleName];
else:
modulePath = inspect.getsourcefile(module)
modulePath = '<module \'' + moduleName + '\' from \'' + modulePath + 'c\'>'
print modulePath
return modulePath
exemple:
Utils.showModulePath(os)
Utils.showModulePath(cPickle)
Résultat:
<module 'os' from 'C:\SciSoft\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\os.pyc'>
<module 'cPickle' (built-in)>
Je pourrais être en retard ici, certains des modules passeraient par AttributeError
en utilisant l'attribut pour trouver le chemin. Dans ce cas, on peut utiliser __path__
pour obtenir le chemin du module.
>>> import some_module
>>> somemodule.__path__
['/usr/lib64/python2.7/site-packages/somemodule']
Essayez:
aide ('xxx')
Par exemple
>>> help(semanage)
Help on module semanage:
NAME
semanage
FILE
/usr/lib64/python2.7/site-packages/semanage.py
- 1. Obtention du chemin absolu d'un fichier
- 2. Obtention du chemin du répertoire .NET Framework
- 3. module réimporté si importé à partir d'un chemin différent
- 4. Obtention du chemin du dossier temporaire de l'utilisateur sous Windows
- 5. Obtention du nom de fichier du fichier dirigé par .htaccess?
- 6. FluentNHibernate: Obtention du fichier Examples.FirstProject
- 7. Obtention du chemin d'accès d'origine à partir de FileStream
- 8. Comment recharger un module Python importé dans un autre fichier?
- 9. Obtention du chemin absolu d'un fichier dans un fichier JAR dans un fichier EAR?
- 10. Obtention du chemin d'accès complet pour le service Windows
- 11. python Nom du fichier de la classe du module MySQL
- 12. Obtention du chemin d'un répertoire, à l'intérieur d'un assemblage
- 13. Utilisation du multitraitement Python lors de l'importation d'un module via un chemin de fichier
- 14. Obtention/définition du propriétaire du fichier en C#
- 15. Retour du fichier à partir du module python
- 16. Comment obtenir le chemin d'accès du fichier exécutable du service
- 17. Obtention d'une extension de fichier et d'un type de contenu incorrects lors du téléchargement du fichier
- 18. Obtenir le chemin du fichier via javascript
- 19. chemin du fichier Normaliser avec WinAPI
- 20. obtenir le chemin du fichier txt
- 21. Chemin/taille du fichier en C#
- 22. CString extrait le chemin du fichier
- 23. Enregistrement du chemin de fichier d'un fichier .txt
- 24. NSIS obtenir le chemin du fichier appelant
- 25. conserve le chemin du fichier de contrôle du téléchargement de fichier dans le contrôle!
- 26. Comment puis-je trouver le nom du fichier qui est l'importateur dans le fichier importé?
- 27. Obtention du contenu de PropertyGrid?
- 28. Script Bash: obtention de la sous-liste du fichier
- 29. Bash: Obtention du programme standard pour le type de fichier
- 30. Obtention du contenu d'iframe
double: http://stackoverflow.com/questions/247770/retrieving -python-module-path –