Python代码中引用已经写好的模块、方法的两种方式
作者:x2+(y-√3x2)2=1 时间:2021-04-20 05:45:14
平时写的一些 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"))
来源:https://blog.csdn.net/qq_45083975/article/details/125629543
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
css网页下拉菜单制作方法(3):样式修饰
在asp中调用sql server的存储过程方法
![](https://img.aspxhome.com/file/UploadPic/up/2007081313422835.jpg)
Python-for循环的内部机制
Python高级架构模式知识点总结
怎么写好一份图形界面设计师简历
Google Chrome CSS选择器速度测试比较
![](https://img.aspxhome.com/file/UploadPic/200810/6/2008106174242741s.png)
Mini,又个 Javascript 选择器
![](https://img.aspxhome.com/file/UploadPic/200910/6/medium-36s.jpg)
如何更优雅地写python代码
Python3 shelve对象持久存储原理详解
![](https://img.aspxhome.com/file/2023/2/86542_0s.png)
python如何通过闭包实现计算器的功能
如何保持Oracle数据库的优良性能
函数式JavaScript编程指南
Mysql数据库名和表名的大小写敏感性问题
Python基于pillow判断图片完整性的方法
R语言属性知识点总结及实例
以大热剧《觉醒年代》为例用Python绘制可视化仪表盘
![](https://img.aspxhome.com/file/2023/0/102950_0s.jpg)
跟老齐学Python之字典,你还记得吗?
python tkinter canvas 显示图片的示例
python实现从网络下载文件并获得文件大小及类型的方法
QQ在线客服网页代码大全
![](https://img.aspxhome.com/file/UploadPic/20081/17/2008117205323775s.gif)