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函数的周期性执行实现方法
Aug 13 Python
python中常用的九种预处理方法分享
Sep 11 Python
Python实现简单的四则运算计算器
Nov 02 Python
Python实现钉钉发送报警消息的方法
Feb 20 Python
python进程间通信Queue工作过程详解
Nov 01 Python
Python中的 ansible 动态Inventory 脚本
Jan 19 Python
Python Flask上下文管理机制实例解析
Mar 16 Python
Python count函数使用方法实例解析
Mar 23 Python
Python小白学习爬虫常用请求报头
Jun 03 Python
pycharm 添加解释器的方法步骤
Aug 31 Python
Python在后台自动解压各种压缩文件的实现方法
Nov 10 Python
Python保存并浏览用户的历史记录
Apr 29 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
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
PHP array_multisort()函数的使用札记
2011/07/03 PHP
php笔记之:数据类型与常量的使用分析
2013/05/14 PHP
PHP rawurlencode与urlencode函数的深入分析
2013/06/08 PHP
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
JQuery下关于$.Ready()的分析
2009/12/13 Javascript
父元素与子iframe相互获取变量和元素对象的具体实现
2013/10/15 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
Extjs4.0 ComboBox如何实现三级联动
2016/05/11 Javascript
jQuery EasyUI 入门必看
2016/06/03 Javascript
Javascript 实现全屏滚动实例代码
2016/12/31 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
2017/01/20 Javascript
jquery ajaxfileupload异步上传插件使用详解
2017/02/08 Javascript
vue中用动态组件实现选项卡切换效果
2017/03/25 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
小程序转发探索示例
2019/02/19 Javascript
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
[40:19]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.18
2020/12/19 DOTA
python开发之list操作实例分析
2016/02/22 Python
python爬取51job中hr的邮箱
2016/05/14 Python
Python实现计算两个时间之间相差天数的方法
2017/05/10 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
Numpy中对向量、矩阵的使用详解
2019/10/29 Python
OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现
2019/11/25 Python
Draper James官网:知名演员瑞茜·威瑟斯彭所创品牌
2017/10/25 全球购物
超市采购员岗位职责
2014/02/01 职场文书
宝宝满月酒主持词和仪式流程
2014/03/27 职场文书
学生夜不归宿检讨书
2014/09/23 职场文书
幼师大班个人总结
2015/02/13 职场文书
团组织推荐意见
2015/06/05 职场文书
西游记读书笔记
2015/06/25 职场文书
简短清晨问候语
2015/11/10 职场文书
趣味运动会口号
2015/12/24 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书