Python中在脚本中引⽤其他⽂件函数的实现⽅法
在导⼊⽂件的时候,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
python安装教程非常详细如果在__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中在脚本中引⽤其他⽂件函数的实现⽅法全部内容了,希望⼤家多多⽀持~
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论