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
猜你喜欢
- 背景介绍开发中遇到了一个需求:程序运行到某处时需要用户确认, 但不能一直傻等, 后面的程序不能被一直阻塞, 需要有个超时限制, 也就是这个程
- 在js中直接添加html语句,js会将html字符串解析成相应的HTML语句,并在前端进行显示。 <span style="
- 1、前言在我们日常的开发工作中,为了代码的健壮性,我们通常会对方法中的业务代码进行try-except的包装,以防止在发生异常的时候进程被中
- 本文实例为大家分享了Python端口扫描的实现代码,供大家参考,具体内容如下获取本机的IP和端口号:import socket def ge
- SQL Server TEXT、NTEXT字段拆分的问题引用的内容:SET NOCOUNT ON CREATE 
- 一个很不错的效果,用键盘的箭头键控制一个漂亮的箭头!也许能给你启发,做出一款有趣的小游戏呢!运行代码框<html xmlns:v=&q
- 在上篇博客中,我们已经实现了水平投影和垂直投影图的绘制。接下来,我们可以根据获得的投影数据进行图像的分割,该法用于文本分割较多,所以此处依然
- ASCII码键盘ASCII 码键盘ASCII 码键盘ASCII 码键盘27ESC32SPACE33!34"35#36$37%38&
- 从今天开始,我将全面的共享出我所能理解的所有WEB标准方面的知识放在这个“WEB标准能有多难?”的专栏里。当然由于振之的水平有限,所讲并非是
- SQL Server 的扩展存储过程,其实就是一个普通的 Windows DLL,只不过按照某种规则实现了某些函数而已。近日在写一个扩展存储
- 本文实例讲述了Python列表list内建函数用法。分享给大家供大家参考,具体如下:#coding=utf8'''&
- 一、继承与java的继承不同python支持多继承,如Person类同时继承Animal类和Species类可以这样写:class Anim
- 面试题:索引的作用?首先建立一张数据库表:create table single_table(id int not auto_increme
- 安装报错类型,解决方案;1. 数据库连接报错mysqldb只支持python2,pymysql支持3,都是使用c写的驱动,性能更好# dja
- 环境ubuntu 12.04 LTSpython 2.7.3opencv 2.3.1-7安装依赖sudo apt-get install l
- HTML5,被传为Flash 的杀手,是一种用于web 应用程序开发、具有变革意义的网络技术。HTML 5提供了一些新的元素和属性,其中有些
- Nicholas Zakas是一位 JS 大师,Yahoo! 首页的前端主程。他是《高性能 Javascript》的作者,这本书值得每个程序
- 我们知道 Django Auth 应用一般用在用户的登录注册上,用于判断当前的用户是否合法,从而可以帮助开发者快速的构建用户系统,那么 Au
- Array.prototype中定义了很多操作数组的方法,下面介绍ECMAScript3中的一些方法1.Array.join()方法该方法将
- 一、功能需求1.根据输入内容进行模糊查询,选择地址后在地图上插上标记,并更新经纬度坐标显示2.在地图点击后,根据回传的左边更新地址信息和坐标