Python代码中引用已经写好的模块、方法的两种方式
平时写的一些 Python
的代码,需要在其他模块里面复用。最粗狂的方法就是直接 copy
过去。
但这种方式太麻烦,copy
一堆代码,导致代码量也很多。copy
的也不爽。
下面就介绍两种方式,可以简洁明了地调用自己在其他模块写的代码。
个人推荐第二种方式。
方式一:
手动使用 sys
调用自己写的 Python
模块、方法
我的代码存在 E:\\PycharmProjects\\111
目录下。需要调用的代码是 mypy
下 my007.py
里的 funA()
方法。
my007.py
里的代码如下所示:
def funA(): print("funcA in module_11") print("调用E:\\PycharmProjects\\111\\mypy\\my007.py目录下的funA()方法") return
my008.py
也是在 E:\\PycharmProjects\\111\\mypy
目录下
my008.py
代码如下:
import sys sys.path.append("../") # my008.py与my007.py同在 E:\\PycharmProjects\\111\\mypy目录下 from mypy.my007 import funA funA()
打印结果为:
funcA in module_11
调用E:\PycharmProjects\111\mypy\my007.py目录下的funA()方法
这种调用方式的弊端是,需要在每个项目的入口文件中增加两行代码,无法做到全自动。
方式二:
全自动调用自己写的 Python
模块、方法
找到自己安装 Anaconda
的目录下的 site-packages
。我的目录如下所示:
D:\Anaconda3\Lib\site-packages
在该目录下创建一个文件,文件名可以随意,扩展名必须是 .pth
,我创建的是 my_code.pth
文件里面将需要引用的模块所在文件夹的绝对路径写进去,如果有多个文件夹,可以写多行,一行一个
如下图所示:
这个时候,就可以在代码中随意使用了。代码如下:
from my007 import funA funA()
打印结果为:
funcA in module_11
调用E:\PycharmProjects\111\mypy\my007.py目录下的funA()方法
如果不知道 site-packages
在哪个目录下
那么使用下面的代码即可找到:
import sysconfig print(sysconfig.get_path("purelib"))
到此这篇关于Python代码中引用已经写好的模块、方法的文章就介绍到这了,更多相关Python模块方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
这篇文章主要介绍了Python推导式,结合简单实例形式分析了Python列表推导式、字典推导式与集合推导式基本使用方法,需要的朋友可以参考下2018-12-12Python多线程Threading、子线程与守护线程实例详解
这篇文章主要介绍了Python多线程Threading、子线程与守护线程,结合实例形式详细分析了Python多线程Threading、子线程与守护线程相关概念、原理、用法与操作注意事项,需要的朋友可以参考下2020-03-03windows 10 设定计划任务自动执行 python 脚本的方法
这篇文章主要介绍了windows 10 设定计划任务自动执行 python 脚本的方法,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-09-09对Python 窗体(tkinter)树状数据(Treeview)详解
今天小编就为大家分享一篇对Python 窗体(tkinter)树状数据(Treeview)详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-10-10
最新评论