在这之前查找了相关博文有关相同文件夹的调用方式如下
调用函数:
A.py:
def add(x,y):
print('和为:%d'%(x+y))
B.py文件:
import A
A.add(1,2)
###或者###
from A import add
add(1,2)
若不在一个文件夹时:
import sys
sys.path.append(r'E:\PythonProject\winycg')
'''python import模块时, 是在sys.path里按顺序查找的。
sys.path是一个列表,里面以字符串的形式存储了许多路径。
使用A.py文件中的函数需要先将他的文件路径放到sys.path中'''
import A
a=A.A(2,3)
a.add()
好了,上述方式基本参考现有的一些博客方法,但是有时候,起码我在执行时会提示No module named "xxx",参照__init__.py文件进行修改仍然无法到达想要的效果,因此对于这种情况,尝试了下述方式能够达到目的。
当要引用的.py文件和现在在执行的文件不在相同的文件夹时,我们采用下面第三行的代码仍然可以直接实现,可以看到前两行是注释掉的。
#import sys
#sys.path.append(r'D:\Python27\Pythonfiles\HMM')
from Pythonfiles.HMM import M_matrix ##引用M矩阵
上述M_matrix.py文件中将时间序列转换成一定的矩阵形式,这样便于我们读取不同的文件,并将M矩阵表示到一个文件中,这时对于参数的调用都可以参照下述形式:
def matrix(X):
par = M_matrix.parameters(X)
M = M_matrix.center(X, par[5], par[6], par[7], par[8], par[9]) # 获取转换后的M矩阵
return M