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中去空格函数的用法
Aug 21 Python
跟老齐学Python之玩转字符串(2)更新篇
Sep 28 Python
python定时器(Timer)用法简单实例
Jun 04 Python
flask session组件的使用示例
Dec 25 Python
Python语言进阶知识点总结
May 28 Python
简单了解Pandas缺失值处理方法
Nov 16 Python
使用python去除图片白色像素的实例
Dec 12 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
Jan 14 Python
django 扩展user用户字段inlines方式
Mar 30 Python
python利用tkinter实现图片格式转换的示例
Sep 28 Python
两行代码解决Jupyter Notebook中文不能显示的问题
Apr 24 Python
Elasticsearch 基本查询和组合查询
Apr 19 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/05/18 PHP
php使用GeoIP库实例
2014/06/27 PHP
ThinkPHP分页实例
2014/10/15 PHP
浅谈php+phpStorm+xdebug配置方法
2015/09/17 PHP
thinkPHP3.1验证码的简单实现方法
2016/04/22 PHP
创建js对象和js类的方法汇总
2014/12/24 Javascript
jQuery动态星级评分效果实现方法
2015/08/06 Javascript
编写高性能Javascript代码的N条建议
2015/10/12 Javascript
js文本框输入内容智能提示效果
2015/12/02 Javascript
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
js中作用域的实例解析
2017/03/16 Javascript
关于vue.js过渡css类名的理解(推荐)
2017/04/10 Javascript
基于vue实现分页效果
2017/11/06 Javascript
vue实现移动端轻量日期组件不依赖第三方库的方法
2019/04/28 Javascript
如何HttpServletRequest文件对象并储存
2020/08/14 Javascript
在JavaScript中查找字符串中最长单词的三种方法(推荐)
2021/01/18 Javascript
介绍Python的Django框架中的静态资源管理器django-pipeline
2015/04/25 Python
详解python进行mp3格式判断
2016/12/23 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
python 通过 socket 发送文件的实例代码
2018/08/14 Python
python3 爬取图片的实例代码
2018/11/06 Python
python树莓派红外反射传感器
2019/01/21 Python
python使用wxpy轻松实现微信防撤回的方法
2019/02/21 Python
python3.6编写的单元测试示例
2019/08/17 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
Python sublime安装及配置过程详解
2020/06/29 Python
Python 如何展开嵌套的序列
2020/08/01 Python
地图可视化神器kepler.gl python接口的使用方法
2020/12/22 Python
html5 worker 实例(二) 图片变换效果
2013/06/24 HTML / CSS
一份比较全的PHP面试题
2016/07/29 面试题
医学生职业规划范文
2014/01/05 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
大连导游词
2015/02/12 职场文书
美术教师求职信范文
2015/03/20 职场文书
幼儿园新生开学寄语
2015/05/27 职场文书