Python之inspect模块实现获取加载模块路径的方法

yipeiwu_com7年前Python基础

该文主要介绍如何获取模块的路径,需要申明的是这里所说的模块可以是功能实现的该模块,也可以是别的模块。

使用到的是 inspect 模块的 .getsourcefile(需要获取的模块名)

创建test.py内容如下:

import os
import inspect
 
class pathManager(object):
 
	def __init__(self):
		pass
 
	def _abPath(self):
		modulePath = inspect.getsourcefile(os)
		abPath = os.path.split(modulePath)
		return abPath[0]
 
if __name__ == "__main__":
    getPath = pathManager()
    getPath._abPath()

执行 python test.py 查看结果如下:

clay@aclgcl-ubnt:~/Desktop/python$ python test.py 
/usr/local/lib/python2.7/os.py
('/usr/local/lib/python2.7', 'os.py')
clay@aclgcl-ubnt:~/Desktop/python$

可以看到我们直接获取到了 :/usr/local/lib/python2.7/os.py , 通过 os.path.split可以截取出单纯的路径。

以上这篇Python之inspect模块实现获取加载模块路径的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python Queue模块详解

Python中,队列是线程间最常用的交换数据的形式。Queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外。 创建一个“队列”对象 import Queue...

Python实现把多维数组展开成DataFrame

如下所示: import numpy as np import pandas as pd ################# 准备数据 ################# a1 =...

Python list列表中删除多个重复元素操作示例

本文实例讲述了Python list列表中删除多个重复元素操作。分享给大家供大家参考,具体如下: 我们以下面这个list为例,删除其中所有值为6的元素: l=[9,6,5,6,6,7...

通过C++学习Python

我会随便说,C++ 近年来开始"抄袭" Python 么?我只会说,我在用 C++ 来学习 Python. 不信?来跟着我学? 字面量 Python 早在 2.6 版本中就支持将二进制作...

python 实现dict转json并保存文件

如下所示: import json f = open("index.html", "wb") json.dump(response.data, f) f.close() dum...