Python3导入自定义模块的3种方式

参考:http://blog.csdn.net/pwc1996/article/details/52577148

一、同级目录下

import MA.Core
MA.Core.PrintDes("Hello,World\n", 3)

二、不同级目录或上级目录

import sys
sys.path.append(r"..")
import MB.NewCore

这里的import包含的是上一级目录下的MB.NewCore文件

项目中文件相互包含的方法,目录结构如下:

Python
----main.py
----bxl.py
----script
--------func.py
--------MA
------------Core.py
------------Add.py
--------MB
------------Add.py

在main.py中调用Python\script\MA\Core.py代码,在Core.py中分别调用同级目录下的Add.py,上一级目录下的func.py,兄弟目录MB下的文件Add.py以及上上一级目录(即主目录)下的bxl.py:

#main.py
import script.MA.Core

def main():	
	script.MA.Core.PrintThis()
	script.MA.Core.PrintAdd_A()
	script.MA.Core.PrintAdd_B()
	script.MA.Core.PrintAdd_fun()
	script.MA.Core.PrintAdd_bxl()
	
main()


#script\MA\Core.py
def PrintThis():
	print("This is script.MA.Core !")

#包含同级目录文件Add.py
import script.MA.Add
def PrintAdd_A():
	script.MA.Add.Add(30, 20)

#包含其他目录下的文件:..\MB\Add.py
import script.MB.Add
def PrintAdd_B():
	script.MB.Add.Add(100, 50)
	
#包含上一级目录文件:..\func.py
import script.func
def PrintAdd_fun():
	script.func.Add(45, 6)
	
#包含上上一级目录文件:..\..\bxl.py
import bxl
def PrintAdd_bxl():
	bxl.Add(81, 0)


#script\MA\Add.py
def Add(x, y):
	print("This is script.MA.Add.Add():%d" % (x+y))


#script\MB\Add.py
def Add(x, y):
	print("This is script.MB.Add.Add():%d" % (x+y))


#script\func.py
def Add(x, y):
	print("This is script.func.Add():%d" % (x+y))


#bxl.py
def Add(x, y):
	print("This is bxl.Add():%d" % (x+y))

猜你喜欢

转载自my.oschina.net/u/3489228/blog/1605576