Python中在脚本中引用其他文件函数的实现方法


Posted in Python onJune 23, 2016

在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址。所以如果要在当前脚本引用其他文件,除了将文件放在和脚本同一目录下,还有以下几种方法,

1. 将文件所在位置添加到sys.path中

import sys
sys.path.insert(0, '/path/to/application/app/folder') # or sys.path.append('/path/to/application/app/folder')

import file

2. 在文件目录下新建__init__.py文件然后调用文件

from application.app.folder.file import func_name

init.py文件

a).init.py文件的作用

该文件的主要作用使初始化Python包。如果目录下面包含了该文件,Python解释器就会将该目录当做一个包,下一步就可以使用import语句在别的.py脚本中引用该目录下的文件。一个标准Python模块的结构如下所示:

package/
  __init__.py
  file.py
  file2.py
  subpackage/
    __init__.py
    submodule1.py
    submodule2.py

b). __init__文件可以为空但可以用来建立对包的需求。一般来说会在该文件中写那些类,函数等需要被导入到包水平,从而可以被方便的引用。比如:如果file.py文件中有一个File类,在init.py文件中啥都没写时引用File类需要这样操作:

from package.file import File

如果在__init__.py文件中将file导入包,那就在包水平可以直接引用File类:

# in your __init__.py
from file import File

# in your script
from package import File

此外,还需要注意的一点是__init__.py文件中的all变量。

如果解释器在__init__.py文件中观察到了__all__变量,那么在运行from package import *时就只会引入__all__变量中列出的那些模块。

例如:如果想在上述结构的只引入submodule1模块,那么可以在subpackage/__init__.py文件中定义__all__ = ['submodule1'],当引用subpackage时from subpackage import *就只引入了submodule1模块。

3. 将文件所在目录添加到python的环境变量

export PYTHONPATH=$HOME/pathToYourScripts/:#PYTHONPATH

以上就是小编为大家带来的Python中在脚本中引用其他文件函数的实现方法全部内容了,希望大家多多支持三水点靠木~

Python 相关文章推荐
python多重继承新算法C3介绍
Sep 28 Python
Python自动调用IE打开某个网站的方法
Jun 03 Python
python协程之动态添加任务的方法
Feb 19 Python
详解Python并发编程之创建多线程的几种方法
Aug 23 Python
Django 自定义权限管理系统详解(通过中间件认证)
Mar 11 Python
Django调用支付宝接口代码实例详解
Apr 04 Python
python super()函数的基本使用
Sep 10 Python
Python Charles抓包配置实现流程图解
Sep 29 Python
MoviePy简介及Python视频剪辑自动化
Dec 18 Python
Python数据分析之pandas函数详解
Apr 21 Python
python中如何对多变量连续赋值
Jun 03 Python
Python中rapidjson参数校验实现
Jul 25 Python
python中的lambda表达式用法详解
Jun 22 #Python
深入浅析python中的多进程、多线程、协程
Jun 22 #Python
Python按行读取文件的简单实现方法
Jun 22 #Python
使用Mixin设计模式进行Python编程的方法讲解
Jun 21 #Python
详解Python中的from..import绝对导入语句
Jun 21 #Python
Java多线程编程中ThreadLocal类的用法及深入
Jun 21 #Python
深入解析Python中的__builtins__内建对象
Jun 21 #Python
You might like
PHP验证码函数代码(简单实用)
2013/09/29 PHP
PHP实现的购物车类实例
2015/06/17 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
2017/07/03 PHP
Ext GridPanel加载完数据后进行操作示例代码
2014/06/17 Javascript
fckeditor粘贴Word时弹出窗口取消的方法
2014/10/30 Javascript
jQuery之DOM对象和jQuery对象的转换与区别分析
2015/01/08 Javascript
解析javascript中鼠标滚轮事件
2015/05/26 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
JavaScript模块化开发之SeaJS
2015/12/13 Javascript
详解JavaScript中localStorage使用要点
2016/01/13 Javascript
Vue 让元素抖动/摆动起来的实现代码
2018/05/31 Javascript
angular4中引入echarts的方法示例
2019/01/29 Javascript
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
在Python中使用mongoengine操作MongoDB教程
2015/04/24 Python
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
Python 描述符(Descriptor)入门
2016/11/20 Python
Python之Web框架Django项目搭建全过程
2017/05/02 Python
Python中矩阵库Numpy基本操作详解
2017/11/21 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
python批量修改ssh密码的实现
2019/08/08 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
css3中的calc函数浅析
2018/07/10 HTML / CSS
四方通行旅游网:台湾订房、出国旅游
2017/09/20 全球购物
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
毕业生动漫设计求职信
2013/10/11 职场文书
中学自我评价
2014/01/31 职场文书
销售经理工作职责
2014/02/03 职场文书
大学军训感想
2014/02/12 职场文书
市场开发计划书
2014/05/07 职场文书
ktv好的活动方案
2014/08/17 职场文书
端午节活动总结
2014/08/26 职场文书
高考作弊检讨书1500字
2015/02/16 职场文书
单位综合评价意见
2015/06/05 职场文书
2016继续教育研修日志
2015/11/13 职场文书
Python3 多线程(连接池)操作MySQL插入数据
2021/06/09 Python