1.同一目录下调用
calculator.py:
def add(a, b): return a + b
test.py:
# 调用同一目录下的calculator.py的add()方法 from calculator import add print(add(4, 5))
2.跨目录调用文件
calculator.py的绝对路径为:D:\Test1\calc\calculator.py
test.py的绝对路径为:D:\Test1\tes\test.py
若test.py调用calculator.py的方法:
import sys # 导入上级目录,绝对路径 from os.path import dirname, abspath project_path = dirname(dirname(abspath(__file__))) # 获取文件上上一级的路径:D:\\Test1 sys.path.append(project_path + "\\calc") # 获取calculator的路径:D:\Test1\calc print(sys.path) from calc.calculator import add
print(add(2, 3))
3.测试代码
测试calculator.py:
if __name__ =='__main__':表示当模块被直接运行时,执行下面的代码;当模块被其他程序文件调用时,下面的代码不被运行。
def add(a, b): return a + b if __name__ == '__main__': #测试代码 c = add(3, 5) print(c)
test.py调用calculator.py,if __name__ =='__main__'下面的内容不被执行
import sys from os.path import dirname, abspath project_path = dirname(dirname(abspath(__file__))) sys.path.append(project_path + "\\calc") from calc.calculator import add c = add(2, 3) print(c)