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程序
Apr 04 Python
python多线程用法实例详解
Jan 15 Python
Python的Flask框架中实现简单的登录功能的教程
Apr 20 Python
Python读取Excel的方法实例分析
Jul 11 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
May 25 Python
python使用matplotlib绘制柱状图教程
Feb 08 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
Jul 19 Python
将pandas.dataframe的数据写入到文件中的方法
Dec 07 Python
linux环境中没有网络怎么下载python
Jul 07 Python
python selenium自动化测试框架搭建的方法步骤
Jun 14 Python
python IDLE添加行号显示教程
Apr 25 Python
python中pymysql包操作数据库方法
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/04/09 PHP
PHP实现接收二进制流转换成图片的方法
2017/01/10 PHP
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
js实现搜索框关键字智能匹配代码
2020/03/26 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
2016/05/13 Javascript
深入理解vue.js双向绑定的实现原理
2016/12/05 Javascript
简化vuex的状态管理方案的方法
2018/06/02 Javascript
初探Vue3.0 中的一大亮点Proxy的使用
2018/12/06 Javascript
Vue项目history模式下微信分享爬坑总结
2019/03/29 Javascript
Python中使用pprint函数进行格式化输出的教程
2015/04/07 Python
在Django的视图中使用form对象的方法
2015/07/18 Python
python结合shell查询google关键词排名的实现代码
2016/02/27 Python
python matplotlib坐标轴设置的方法
2017/12/05 Python
Python编程实现线性回归和批量梯度下降法代码实例
2018/01/04 Python
Python走楼梯问题解决方法示例
2018/07/25 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
使用Python将语音转换为文本的方法
2020/08/10 Python
Bose美国官网:购买Bose耳机和音箱
2019/03/10 全球购物
Jar包的作用是什么
2014/03/30 面试题
职业生涯规划书基本格式
2014/01/06 职场文书
乌鸦喝水教学反思
2014/02/07 职场文书
中国梦主题教育活动总结
2014/05/05 职场文书
年终晚会活动方案
2014/08/21 职场文书
2016年高校自主招生自荐信范文
2015/03/24 职场文书
幼儿园教师岗位职责
2015/04/02 职场文书
大学生求职意向书
2015/05/11 职场文书
爱心捐赠活动简讯
2015/07/20 职场文书
承诺书应该怎么写?
2019/09/10 职场文书
使用react-virtualized实现图片动态高度长列表的问题
2021/05/28 Javascript
分享Python获取本机IP地址的几种方法
2022/03/17 Python
解决Python保存文件名太长OSError: [Errno 36] File name too long
2022/05/11 Python
如何利用python实现Simhash算法
2022/06/28 Python
MySQL 原理与优化之原数据锁的应用
2022/08/14 MySQL