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下利用OpenCV来旋转图像的教程
Apr 16 Python
用Python遍历C盘dll文件的方法
May 06 Python
Python科学计算之Pandas详解
Jan 15 Python
利用Python破解斗地主残局详解
Jun 30 Python
python模拟事件触发机制详解
Jan 19 Python
python调用xlsxwriter创建xlsx的方法
May 03 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
Oct 21 Python
python实现本地图片转存并重命名的示例代码
Oct 27 Python
Python根据当前日期取去年同星期日期
Apr 14 Python
Python数据可视化实现正态分布(高斯分布)
Aug 21 Python
python正则表达式实例代码
Mar 03 Python
Python基础之元组与文件知识总结
May 19 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
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
php 大数据量及海量数据处理算法总结
2011/05/07 PHP
使用PHP实现微信摇一摇周边红包
2016/01/04 PHP
完美利用Yii2微信后台开发的系列总结
2016/07/18 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
PHP常用header头定义代码示例汇总
2020/08/29 PHP
JavaScript 提升运行速度之循环篇 译文
2009/08/15 Javascript
让textarea自动调整大小的js代码
2011/04/12 Javascript
jquery中event对象属性与方法小结
2013/12/18 Javascript
js判断元素是否隐藏的方法
2014/06/09 Javascript
JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同
2015/11/15 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
2015/12/11 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
Bootstrap DateTime Picker日历控件简单应用
2017/03/25 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
2017/04/13 Javascript
Vue SSR 组件加载问题
2018/05/02 Javascript
JavaScript模块管理的简单实现方式详解
2019/06/15 Javascript
跟老齐学Python之再深点,更懂list
2014/09/20 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
Python:Scrapy框架中Item Pipeline组件使用详解
2017/12/27 Python
Request的中断和ErrorHandler实例解析
2018/02/12 Python
Python 中Django验证码功能的实现代码
2019/06/20 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
HTML5 visibilityState属性详细介绍和使用实例
2014/05/03 HTML / CSS
阿联酋网上花店:Ferns N Petals
2018/02/14 全球购物
世界上最大的艺术社区:SAA
2020/12/30 全球购物
小学语文国培感言
2014/03/04 职场文书
计算机科学系职业生涯规划书
2014/03/08 职场文书
教师党员公开承诺书
2014/03/25 职场文书
企业文明单位申报材料
2014/05/16 职场文书
节约粮食标语
2014/06/18 职场文书
个人委托书范本
2014/09/13 职场文书
党支部党的群众路线对照检查材料
2014/09/24 职场文书
团队会宣传标语
2014/10/09 职场文书
2015年数学教师工作总结
2015/05/20 职场文书
Python Socket编程详解
2021/04/25 Python