python引入导入自定义模块和外部文件的实例


Posted in Python onJuly 24, 2017

项目中想使用以前的代码,或者什么样的需求致使你需要导入外部的包

如果是web 下,比如说django ,那么你新建一个app,把你需要导入的说用东东,都写到这个app中,然后在setting中的app也配上基本就ok了

如果是本地代码,可以有几种方式,

1、这种最简单,也可能最不实用,将你的外部文件放到跟需要调用外部文件的文件同一个包下,同一目录

folder

------toinvoke.py

------tobeinvoded.py

这样在toinvoke.py 中引入

import toveinvoked 或 from tobeinvoked import *

即可

2、你的其他文件不是单个文件,或者不能如上所说放到同一目录下,而是在不同目录中,子目录

folder

------tobeinvodedA.py

------tobeinvodedB.py

------tobeinvodedC.py

toinvoke.py

这种情况,现在folder 下新建一个__init__.py 的空文件,此时的folder不再是一个普通的文件夹,而是一个包 package,现在像这样

folder #文件夹 现在的性质为一个python包package

------__init__.py

------tobeinvoded.py

------tobeinvodedA.py

------tobeinvodedB.py

------tobeinvodedC.py

toinvoke.py

这样在toinvoke.py 中引入

import folder.toveinvoked 或 from folder.tobeinvoked import *

即可

3、同理,如果是如下的情况,folderB中的模块要调用folderA中的模块,方法同上,有什么改变,你已经知道了

folderA

------tobeinvoded.py

------tobeinvodedA.py

------tobeinvodedB.py

------tobeinvodedC.py

folderB

--------toinvoke.py

这样在toinvoke.py 中引入

import folder.toveinvoked 或 from folder.tobeinvoked import *

即可

4、将要被调用的代码拷贝到$PYTHONHOME$\Lib\site-packages 下面,这个就跟Eclipse插件安装差不多

5、在$PYTHONHOME$\Lib\site-packages 下面新建一个.pth文件,比如说是MyPackage.pth,里面的内容是你的包的绝对路径比如:E:/PythonPrj

那么,在E:/PythonPrj下的所有包都可以按照包所在的相对路径引入,这个跟Eclipse插件安装的link 方式差不多

6、跟上面的差不多,也可以加个环境变量,这个就不多说了

总结、看看Python的包搜索路径

Python会在以下路径中搜索它想要寻找的模块:

1. 程序所在的文件夹

2. 标准库的安装路径

3. 操作系统环境变量PYTHONPATH所包含的路径

将自定义库的路径添加到Python的库路径中去,有如下两种方法:

1. 动态的添加库路径。在程序运行过程中修改sys.path的值,添加自己的库路径

import sys

sys.path.append(r'your_path')

2. 在Python安装目录下的\Lib\site-packages文件夹中建立一个.pth文件,内容为自己写的库路径。示例如下

E:\\work\\Python\\http

E:\\work\\Python\\logging

以上这篇python引入导入自定义模块和外部文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的Bottle框架中返回静态文件和JSON对象的方法
Apr 30 Python
Python面向对象编程基础解析(二)
Oct 26 Python
python根据unicode判断语言类型实例代码
Jan 17 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
Aug 07 Python
Python list列表中删除多个重复元素操作示例
Feb 27 Python
Python合并同一个文件夹下所有PDF文件的方法
Mar 11 Python
matplotlib实现区域颜色填充
Mar 18 Python
python中字符串数组逆序排列方法总结
Jun 23 Python
python中时间转换datetime和pd.to_datetime详析
Aug 11 Python
Python散点图与折线图绘制过程解析
Nov 30 Python
python uuid生成唯一id或str的最简单案例
Jan 13 Python
python实现自定义日志的具体方法
May 28 Python
Python3.X 线程中信号量的使用方法示例
Jul 24 #Python
Python基于list的append和pop方法实现堆栈与队列功能示例
Jul 24 #Python
老生常谈进程线程协程那些事儿
Jul 24 #Python
Django模板变量如何传递给外部js调用的方法小结
Jul 24 #Python
详解Python list 与 NumPy.ndarry 切片之间的对比
Jul 24 #Python
apache部署python程序出现503错误的解决方法
Jul 24 #Python
Python元组操作实例分析【创建、赋值、更新、删除等】
Jul 24 #Python
You might like
暴雪前总裁遗憾:没尽早追赶Dota 取消星际争霸幽灵
2020/03/08 星际争霸
文章推荐系统(二)
2006/10/09 PHP
再推荐十款免费的php开发工具
2015/11/09 PHP
Yii框架实现对数据库的CURD操作示例
2019/09/03 PHP
js的匿名函数使用介绍
2013/12/11 Javascript
jquery实现多行文字图片滚动效果示例代码
2014/10/10 Javascript
jquery实现鼠标滑过显示二级下拉菜单效果
2015/08/24 Javascript
js+ajax实现获取文件大小的方法
2015/12/08 Javascript
js html css实现复选框全选与反选
2016/10/09 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
用node和express连接mysql实现登录注册的实现代码
2017/07/05 Javascript
vue-cli如何添加less 以及sass
2017/07/06 Javascript
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
chorme 浏览器记住密码后input黄色背景处理方法(两种)
2017/11/22 Javascript
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
2018/02/11 Javascript
js统计页面上每个标签的数量实例代码
2018/05/29 Javascript
基于Vue实现关键词实时搜索高亮显示关键词
2018/07/21 Javascript
详解微信小程序实现仿微信聊天界面(各种细节处理)
2019/02/17 Javascript
layer父页获取弹出层输入框里面的值方法
2019/09/02 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
js用正则表达式筛选年月日的实例方法
2021/01/04 Javascript
python的random模块及加权随机算法的python实现方法
2017/01/04 Python
python中Apriori算法实现讲解
2017/12/10 Python
python skimage 连通性区域检测方法
2018/06/21 Python
python实现决策树分类(2)
2018/08/30 Python
Django框架 查询Extra功能实现解析
2019/09/04 Python
Python3的socket使用方法详解
2020/02/18 Python
Python文件操作及内置函数flush原理解析
2020/10/13 Python
后勤工作职责
2013/12/22 职场文书
机械专业技术员求职信
2014/06/14 职场文书
小学趣味运动会加油稿
2014/09/25 职场文书
放弃遗产继承公证书
2015/01/26 职场文书
介绍信的格式
2015/01/30 职场文书
学习商务礼仪心得体会
2016/01/22 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书
关于Numpy之repeat、tile的用法总结
2021/06/02 Python