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求pi的方法
Oct 08 Python
利用python获取当前日期前后N天或N月日期的方法示例
Jul 30 Python
Django开发中的日志输出的方法
Jul 02 Python
Python/ArcPy遍历指定目录中的MDB文件方法
Oct 27 Python
Python装饰器基础概念与用法详解
Dec 22 Python
Python enumerate函数功能与用法示例
Mar 01 Python
Python-while 计算100以内奇数和的方法
Jun 11 Python
利用python实现短信和电话提醒功能的例子
Aug 08 Python
关于Python形参打包与解包小技巧分享
Aug 24 Python
Python数据相关系数矩阵和热力图轻松实现教程
Jun 16 Python
Django celery异步任务实现代码示例
Nov 26 Python
python 使用openpyxl读取excel数据
Feb 18 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
收音机史话 - 1960年代前后的DIY
2021/03/02 无线电
PHP+XML 制作简单的留言本 图文教程
2009/11/02 PHP
PHP下escape解码函数的实现方法
2010/08/08 PHP
PHP函数spl_autoload_register()用法和__autoload()介绍
2012/02/04 PHP
更改localhost为其他名字的方法
2014/02/10 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
2014/10/15 PHP
PHP SPL标准库之数据结构堆(SplHeap)简单使用实例
2015/05/12 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
2015/12/10 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
2020/01/26 PHP
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
js对象继承之原型链继承实例
2015/01/10 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
2015/02/26 Javascript
TinyMCE提交AjaxForm获取不到数据的解决方法
2015/03/05 Javascript
javascript实现C语言经典程序题
2015/11/29 Javascript
jquery仿QQ登录账号选择下拉框效果
2016/03/22 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
vue使用echarts图表的详细方法
2018/10/22 Javascript
vue组件间通信六种方式(总结篇)
2019/05/15 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
2020/11/12 Javascript
[01:09]模型精美,特效酷炫!TI9不朽宝藏Ⅰ鉴赏
2019/05/10 DOTA
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
Django用户认证系统 组与权限解析
2019/08/02 Python
django rest framework serializer返回时间自动格式化方法
2020/03/31 Python
Python通过Schema实现数据验证方式
2020/11/12 Python
CSS改变网页中鼠标选中文字背景颜色例子
2014/04/23 HTML / CSS
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
美国饼干礼物和美食甜点购买网站:Cheryl’s
2020/05/28 全球购物
给校长的建议书范文
2015/09/14 职场文书
个人工作失误的保证书怎么写?
2019/06/21 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书
详解PHP设计模式之依赖注入模式
2021/05/25 PHP