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中enumerate的用法实例解析
Aug 18 Python
Python中列表和元组的使用方法和区别详解
Dec 30 Python
解决pyqt中ui编译成窗体.py中文乱码的问题
Dec 23 Python
CentOS中升级Python版本的方法详解
Jul 10 Python
Python3操作SQL Server数据库(实例讲解)
Oct 21 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
Nov 29 Python
Python DataFrame.groupby()聚合函数,分组级运算
Sep 18 Python
使用Python 统计高频字数的方法
Jan 31 Python
Python中遍历列表的方法总结
Jun 27 Python
python字符串,元组,列表,字典互转代码实例详解
Feb 14 Python
django restframework serializer 增加自定义字段操作
Jul 15 Python
Python面向对象之成员相关知识总结
Jun 24 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 购物车的例子
2009/05/04 PHP
php中获取指定IP的物理地址的代码(正则表达式)
2011/06/23 PHP
PHP常用开发函数解析之数组篇[未完结]
2012/07/30 PHP
PHP读取xml方法介绍
2013/01/12 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
2016/07/21 PHP
Redis使用Eval多个键值自增的操作实例
2016/11/04 PHP
PHP lcfirst()函数定义与用法
2019/03/08 PHP
用Javascript实现UTF8编码转换成gb2312编码
2006/12/22 Javascript
JS截取字符串常用方法整理及使用示例
2013/10/18 Javascript
JavaScript中的类(Class)详细介绍
2014/12/30 Javascript
使用Angular缓存父页面数据的方法
2017/01/03 Javascript
vue-resource 拦截器使用详解
2017/02/21 Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
2017/05/07 Javascript
基于bootstrop常用类总结(推荐)
2017/09/11 Javascript
原生JS实现的简单轮播图功能【适合新手】
2018/08/17 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
2019/04/17 Javascript
Python如何基于smtplib发不同格式的邮件
2019/12/30 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
2020/01/23 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
2020/02/18 Python
彪马日本官网:PUMA日本
2019/01/31 全球购物
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
为什么如下的代码int a=100,b=100;long int c=a * b;不能工作
2013/11/29 面试题
物业管理专业个人的自我评价
2013/11/19 职场文书
精彩自我鉴定
2014/01/16 职场文书
求职面试个人自我评价
2014/02/28 职场文书
节约能源标语
2014/06/17 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
复兴之路观后感3000字
2015/06/02 职场文书
小学生禁毒教育心得体会
2016/01/15 职场文书
[有人@你]你有一封绿色倡议书,请查收!
2019/07/18 职场文书
python opencv通过按键采集图片源码
2021/05/20 Python
微软Win11什么功能最惊艳? Windows11新功能特性汇总
2021/11/21 数码科技