调用另一个python文件中的代码

来源:互联网 发布:java继承实例 编辑:程序博客网 时间:2024/06/05 06:04

python3.*版本下好像不一样,正确引用方法:

utils是同级目录,options是文件,后面是函数
from .utils.options import parseOptionsfrom .utils.options import getOption

调用另一个python文件中的代码

无论我们选择用何种语言进行程序设计时,都不可能只有一个文件(除了“hello world”),通常情况下,我们都需要在一个文件中调用另外一个文件的函数呀数据等等,总之要操作其他文件中的代码,在Java中,只要在同一个文件目录下,我们就不需要通过import导入,但是在Python中,我们就需要通过import来进行导入,这样我们才能应用其他文件中定义的函数和数据等代码。 对于刚接触python的我们,这是我们需要掌握的。

下面就以两个文件为例,例如我们有a.py和b.py两个文件,当我们需要在b.py文件中应用a.py中的func( )函数时,应该如何做呢,有两种情况,分别为在同一文件目录下和不在同一目录下进行说明。

同一文件目录下

在b.py文件中用下面两条语句即可完成对a.py文件中func( )函数的调用

import a #引用模块 
a.func( )

或者是

import a#应用模块 
from a import func #引用模块中的函数 
func() #这里调用函数就不需要加上模块名的前缀了

不同文件目录下

若不在同一目录,python查找不到,必须进行查找路径的设置,将模块所在的文件夹加入系统查找路径

import sys 
sys.path.append(‘a.py所在的路径’) 
import a 
a.func()


Python的import包含文件功能就跟PHP的include类似,但更确切的说应该更像是PHP中的require,因为Python里的import只要目标不存在就报错程序无法往下执行。要包含目录里的文件,PHP中只需要给对路径就OK。Python中则不同,下面来看看这个例子。

目录结构:

Python import

a.py 要 import dir目录下的 b.py 文件。a.py代码如下:

1
2
3
4
5
6
# coding=utf-8
"import dir 目录下的 b.py 文件"
 
importdir.b
 
printdir.b.name

执行 a.py 报错

Python import

提示找不到这个模块的名字 dir.b 。通过查找官方文档,发现要包含目录下的文件时需要在目录下声明一个__init__.py文件,即使这个文件是空的也可以。当然这个文件也可以初始一些数据。

于是在 dir 下新建 __init__.py文件,目录结构如下:

Python import

重新执行a.py,一切OK!


阅读全文
0 0
原创粉丝点击