Python 导入引用其他文件的函数(持续更新)

构造初始化文件结构,以此为例。

三级文件结构

在这里插入图片描述

  • 其中文件夹A与B和文件c与d同级。
  • 文件a和b同级。
  • 为了方便测试,初始化文件a,b,c,d内容如下。
  • 文件内函数用于测试输出。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 下面对不同情况进行说明

【1】导入同目录且同级下其他文件的函数(c.py文件导入d.py文件的函数

(1)只引入d.py文件

import d

def functionC():
    print("引入functionC")
d.functionD()

在这里插入图片描述

  • 调用d里面函数时需要 d.functionD()
  • 也可以给引入的文件d重新命名
  • 只需加一个as
import d as newNameD

def functionC():
    print("引入functionC")
newNameD.functionD()

在这里插入图片描述

(2)直接引入函数

  • 引入单个函数
from d import functionD

def functionC():
    print("引入functionC")
functionD()

在这里插入图片描述

(3)引入全部函数

from d import *

def functionC():
    print("引入functionC")
functionD()

在这里插入图片描述

【2】导入同目录但不同级下的其他文件夹内文件(c.py导入A文件夹内的a.py文件的函数

(1)只引入a.py文件

  • 调用函数需要 文件名.函数名 例如 a.functionA()
from A import a

def functionC():
    print("引入functionC")

a.functionA()

在这里插入图片描述

(2)直接引入函数

  • 调用直接写函数名就可以
from A.a import functionA

def functionC():
    print("引入functionC")

functionA()

在这里插入图片描述

(3)引入全部函数

from A.a import *

def functionC():
    print("引入functionC")

functionA()

在这里插入图片描述

【3】导入不同目录下的文件(B文件中b.py导入A文件中a.py文件内的函数

前置条件:

  • 【1】引入import sys 利用sys.path.append(“…/”)拼接路径
  • 【2】将需要引入的文件夹设置为Sources Root
  • 此例子将A文件夹设置为Sources Root
  • New -> Mark Directory as -> Sources Root

在这里插入图片描述

(1)只引入a.py文件

  • 调用 a.functionA()
import sys
sys.path.append("../A")
import a
def functionB():
    print("引入functionB")
a.functionA()

在这里插入图片描述

(2)直接引入函数

import sys
sys.path.append("../A")
from a import functionA 
def functionB():
    print("引入functionB")
functionA()

在这里插入图片描述

(3)引入全部函数

import sys
sys.path.append("../A")
from a import *
def functionB():
    print("引入functionB")
functionA()

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45725923/article/details/131625424