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使用正则表达式分析网页中的图片并进行替换的方法
Mar 26 Python
Python中DJANGO简单测试实例
May 11 Python
详解Django框架中的视图级缓存
Jul 23 Python
python文件操作之批量修改文件后缀名的方法
Aug 10 Python
Python中asyncio与aiohttp入门教程
Oct 16 Python
Python2和Python3的共存和切换使用
Apr 12 Python
Django REST framework 分页的实现代码
Jun 19 Python
Centos7 下安装最新的python3.8
Oct 28 Python
pytorch 状态字典:state_dict使用详解
Jan 17 Python
Python Sqlalchemy如何实现select for update
Oct 12 Python
Python析构函数__del__定义原理解析
Nov 20 Python
python游戏开发之pygame实现接球小游戏
Apr 22 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
Thinkphp批量更新数据的方法汇总
2016/06/29 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
2017/06/29 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
Laravel如何创建服务器提供者实例代码
2019/04/15 PHP
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
JavaScript判断对象是否为数组
2015/12/22 Javascript
浅谈JS原型对象和原型链
2016/03/02 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
帝国cms首页列表页实现点赞功能
2017/10/30 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
深入解析微信小程序开发中遇到的几个小问题
2020/07/11 Javascript
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
react项目从新建到部署的实现示例
2021/02/19 Javascript
Python编程实现数学运算求一元二次方程的实根算法示例
2017/04/02 Python
Python基于scapy实现修改IP发送请求的方法示例
2017/07/08 Python
python的构建工具setup.py的方法使用示例
2017/10/23 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
Django 创建新App及其常用命令的实现方法
2019/08/04 Python
详解基于python-django框架的支付宝支付案例
2019/09/23 Python
如何安装2019Pycharm最新版本(详细教程)
2019/09/26 Python
django 取消csrf限制的实例
2020/03/13 Python
python tkinter实现连连看游戏
2020/11/16 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
用python查找统一局域网下ip对应的mac地址
2021/01/13 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
好药师网上药店:安全合法的网上药品零售药房
2017/02/15 全球购物
意大利婴儿产品网上商店:Mukako
2018/10/14 全球购物
德国便宜的宠物店:Brekz.de
2020/10/23 全球购物
班级课外活动总结
2014/07/09 职场文书
信仰心得体会
2014/09/05 职场文书
校园环保广播稿(3篇)
2014/09/15 职场文书
群众路线自查报告及整改措施
2014/11/04 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
2016年圣诞节寄语(一句话)
2015/12/07 职场文书