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对Json的解析
Feb 14 Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
Apr 06 Python
Python闭包函数定义与用法分析
Jul 20 Python
pytorch: tensor类型的构建与相互转换实例
Jul 26 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
Apr 01 Python
Django框架封装外部函数示例
May 28 Python
Python猴子补丁知识点总结
Jan 05 Python
Python3 filecmp模块测试比较文件原理解析
Mar 23 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
Jun 04 Python
python安装后的目录在哪里
Jun 21 Python
Pycharm同步远程服务器调试的方法步骤
Nov 04 Python
Python如何解决secure_filename对中文不支持问题
Jul 16 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之第八天
2006/10/09 PHP
比较详细PHP生成静态页面教程
2012/01/10 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
2013/06/17 PHP
PHP中文乱码解决方案
2015/03/05 PHP
PHP stream_context_create()函数的使用示例
2015/05/12 PHP
thinkphp分页实现效果
2016/10/13 PHP
jQuery的运行机制和设计理念分析
2011/04/05 Javascript
jQuery中 noConflict() 方法使用
2013/04/25 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
2013/06/02 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
JavaScript中三种异步上传文件方式
2016/03/06 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
vue 移动端注入骨架屏的配置方法
2019/06/25 Javascript
vue实现select下拉显示隐藏功能
2019/09/30 Javascript
如何在vue中使用HTML 5 拖放API
2021/01/14 Vue.js
深入理解javascript中的this
2021/02/08 Javascript
[09:40]DAC2018 4.5 SOLO赛 MidOne vs Miracle
2018/04/06 DOTA
python 生成器协程运算实例
2017/09/04 Python
Python绘制七段数码管实例代码
2017/12/20 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
django的csrf实现过程详解
2019/07/26 Python
解决Python设置函数调用超时,进程卡住的问题
2019/08/08 Python
Numpy的简单用法小结
2019/08/28 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
骆驼官方商城:CAMEL
2016/11/22 全球购物
英国家居用品和家居装饰品购物网站:Cox & Cox
2019/08/25 全球购物
亚马逊加拿大网站:Amazon.ca
2020/01/06 全球购物
如何手工释放资源
2013/12/15 面试题
电子商务个人自荐信
2013/12/12 职场文书
鲜花方阵解说词
2014/02/13 职场文书
决心书范文
2014/03/11 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
2015年幼儿园中班工作总结
2015/04/25 职场文书
Python实战之OpenCV实现猫脸检测
2021/06/26 Python
React如何创建组件
2021/06/27 Javascript
使用Apache Camel表达REST服务的方法
2022/06/10 Servers