반응형
가져온 모듈의 파일 경로 가져오기
이 질문에 이미 답이 있습니다.
- 모듈의 경로를 검색하는 방법은 무엇입니까? 17 답변
파이썬에서 가져온 모듈의 파일 경로를 어떻게 얻을 수 있습니까? 저는 Linux를 사용하고 있습니다(중요한 경우).
예: 내 홈 디렉토리에 있고 모듈을 가져오면 내 홈 디렉토리의 전체 경로를 반환해야 합니다.
모듈 및 패키지에는 __file__
경로 정보 가 있는 속성이 있습니다. 현재 작업 디렉토리를 기준으로 모듈을 가져온 경우 절대 경로를 원할 것입니다.
import os.path
import my_module
print(os.path.abspath(my_module.__file__))
나는 이것을 사용하고 있습니다 :
import inspect
import os
class DummyClass: pass
print os.path.dirname(os.path.abspath(inspect.getsourcefile(DummyClass))
(편집: 이것은 "나는 어디에 있습니까?" 함수입니다. 현재 모듈이 포함된 디렉토리를 반환합니다. 원하는 것인지 확실하지 않습니다.)
이것은 모듈이 있는 디렉토리를 제공합니다:
import foo
os.path.dirname(foo.__file__)
이미 로드된 모듈의 로드 경로를 찾으려면:
>>> import sys
>>> sys.modules['os']
<module 'os' from 'c:\Python26\lib\os.pyc'>
나는 내장 모듈이 아닌 모듈과 내장 모듈 모두에 적용되는 이 방법을 사용해 왔습니다.
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
예시:
Utils.showModulePath(os)
Utils.showModulePath(cPickle)
결과:
<module 'os' from 'C:\SciSoft\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\lib\os.pyc'>
<module 'cPickle' (built-in)>
여기 늦을 수 있습니다 . 속성을 AttributeError
사용 __file__
하여 경로를 찾을 때 일부 모듈이 throw 됩니다 . 이 경우 __path__
모듈의 경로를 가져오는 데 사용할 수 있습니다 .
>>> import some_module
>>> somemodule.__path__
['/usr/lib64/python2.7/site-packages/somemodule']
노력하다:
도움말('xxx')
예를 들어
>>> help(semanage)
Help on module semanage:
NAME
semanage
FILE
/usr/lib64/python2.7/site-packages/semanage.py
ReferenceURL : https://stackoverflow.com/questions/729583/getting-file-path-of-imported-module
반응형
'IT이야기' 카테고리의 다른 글
VSTS를 사용하는 ASP.NET Core Web API의 CI/CD (0) | 2021.09.13 |
---|---|
원격 디버거를 Python 프로세스에 어떻게 연결합니까? (0) | 2021.09.13 |
다른 스크립트를 계속 실행할 수 있도록 "루트" 서블릿을 어떻게 매핑할 수 있습니까? (0) | 2021.09.12 |
C++용 Javadoc과 유사한 문서 (0) | 2021.09.12 |
Javascript로 iframe 요소에 어떻게 액세스합니까? (0) | 2021.09.12 |