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

yipeiwu_com5年前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设计】。

相关文章

基于TensorFlow常量、序列以及随机值生成实例

TensorFlow 生成 常量、序列和随机值 生成常量 tf.constant()这种形式比较常见,除了这一种生成常量的方式之外,像Numpy一样,TensorFlow也提供了生成...

Python re 模块findall() 函数返回值展现方式解析

findall 函数: 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。 注意: match 和 search 是匹配一次 findall...

python多进程和多线程究竟谁更快(详解)

python多进程和多线程究竟谁更快(详解)

python3.6 threading和multiprocessing 四核+三星250G-850-SSD 自从用多进程和多线程进行编程,一致没搞懂到底谁更快。网上很多都说pytho...

使用pandas实现连续数据的离散化处理方式(分箱操作)

Python实现连续数据的离散化处理主要基于两个函数,pandas.cut和pandas.qcut,前者根据指定分界点对连续数据进行分箱处理,后者则可以根据指定箱子的数量对连续数据进行等...

python操作xml文件详细介绍

关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码。这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml...