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 随机数使用方法,推导以及字符串,双色球小程序实例
Sep 12 Python
Python实现对百度云的文件上传(实例讲解)
Oct 21 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
Jul 13 Python
python批量赋值操作实例
Oct 22 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
Jul 01 Python
Python空间数据处理之GDAL读写遥感图像
Aug 01 Python
python将字符串转变成dict格式的实现
Nov 18 Python
Python 炫技操作之合并字典的七种方法
Apr 10 Python
Python内置函数locals和globals对比
Apr 28 Python
BeautifulSoup中find和find_all的使用详解
Dec 07 Python
pytorch损失反向传播后梯度为none的问题
May 12 Python
用python修改excel表某一列内容的操作方法
Jun 11 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
PHP无敌近乎加密方式!
2010/07/17 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
将FCKeditor导入PHP+SMARTY的实现方法
2015/01/15 PHP
PHP利用APC模块实现大文件上传进度条的方法
2015/10/29 PHP
php中foreach结合curl实现多线程的方法分析
2016/09/22 PHP
JavaScript的parseInt 进制问题
2009/05/07 Javascript
用javascript替换URL中的参数值示例代码
2014/01/27 Javascript
Javascript排序算法之计数排序的实例
2014/04/05 Javascript
基于jQuery实现网页进度显示插件
2015/03/04 Javascript
JavaScript中实现无缝滚动、分享到侧边栏实例代码
2016/04/06 Javascript
jquery插件autocomplete用法示例
2016/07/01 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
jQuery实现淡入淡出的模态框
2017/02/09 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
基于Angular中ng-controller父子级嵌套的相关属性详解
2018/10/08 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
2020/07/20 Javascript
Python中操作文件之write()方法的使用教程
2015/05/25 Python
Python实现屏幕截图的代码及函数详解
2016/10/01 Python
Python3实现发送QQ邮件功能(文本)
2017/12/15 Python
python 剪切移动文件的实现代码
2018/08/02 Python
对python使用telnet实现弱密码登录的方法详解
2019/01/26 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
python实现简单日志记录库glog的使用
2019/12/13 Python
使用python自动追踪你的快递(物流推送邮箱)
2020/03/17 Python
Django日志及中间件模块应用案例
2020/09/10 Python
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
什么是Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议
2012/09/06 面试题
幼儿园托班开学寄语
2014/01/18 职场文书
网吧最新创业计划书范文
2014/03/27 职场文书
车辆转让协议书
2014/04/15 职场文书
大学活动总结范文
2014/04/29 职场文书
2015年度高中教师工作总结
2015/05/26 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
详解Nginx的超时keeplive_timeout配置步骤
2022/05/25 Servers