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求斐波那契数列示例分享
Feb 14 Python
python小技巧之批量抓取美女图片
Jun 06 Python
python实现的简单RPG游戏流程实例
Jun 28 Python
python实现爬虫下载美女图片
Jul 14 Python
使用Kivy将python程序打包为apk文件
Jul 29 Python
python实现Zabbix-API监控
Sep 17 Python
python 删除字符串中连续多个空格并保留一个的方法
Dec 22 Python
python中logging模块的一些简单用法的使用
Feb 22 Python
Python3.5面向对象程序设计之类的继承和多态详解
Apr 24 Python
解决windows下python3使用multiprocessing.Pool出现的问题
Apr 08 Python
Django跨域请求原理及实现代码
Nov 14 Python
pytorch损失反向传播后梯度为none的问题
May 12 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
COM in PHP (winows only)
2006/10/09 PHP
php 动态执行带有参数的类方法
2009/04/10 PHP
PHP GD 图像处理组件的常用函数总结
2010/04/28 PHP
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
2013/06/14 PHP
smarty自定义函数htmlcheckboxes用法实例
2015/01/22 PHP
PHP 获取ip地址代码汇总
2015/07/05 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
Laravel框架查询构造器 CURD操作示例
2019/09/04 PHP
显示、隐藏密码
2006/07/01 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/03 Javascript
一些实用的jQuery代码片段收集
2011/07/12 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
在JavaScript中使用开平方根的sqrt()方法
2015/06/15 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
JavaScript 数组- Array的方法总结(推荐)
2016/07/21 Javascript
浅谈JS的基础类型与引用类型
2016/09/13 Javascript
jQuery学习笔记之入门
2016/12/14 Javascript
JS实现颜色的10进制转化成rgba格式的方法
2017/09/04 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
vue拖拽排序插件vuedraggable使用方法详解
2020/08/21 Javascript
微信小程序实现录音时的麦克风动画效果实例
2019/05/18 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
js+canvas实现五子棋小游戏
2020/08/02 Javascript
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python中subprocess的简单使用示例
2015/07/28 Python
Python在Console下显示文本进度条的方法
2016/02/14 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
Python 虚拟环境工作原理解析
2020/12/24 Python
联想台湾官网:Lenovo TW
2018/05/09 全球购物
Simons官方网站:加拿大时尚零售商
2020/02/20 全球购物
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
鲁迅故居导游词
2015/02/05 职场文书
药店营业员岗位职责
2015/04/14 职场文书
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
2021/06/23 Python