如何在Python中从其他文件夹导入文件

2024-06-18 13:19:59 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的项目结构:

  • 埃尔沃
    • 功能
      • lights.py
    • main.py

Elvvo文件夹的目录是/home/pi/Desktop/Elvvo,因为我正在处理一个Raspberry Pi

我在main.py中定义了几个函数。我想从lights.py调用这些函数。我该怎么做?提前谢谢


Tags: 项目函数py功能目录文件夹homemain
1条回答
网友
1楼 · 发布于 2024-06-18 13:19:59

技术-1

您可以使用sys.path.insert()内置方法将main.py的路径插入系统路径变量的位置1。这样可以确保以最高优先级加载它,并避免任何命名冲突(如果存在)

请看我如何解决以下问题:

我的文件夹结构如下所示:

import_test
├── functions
│   └── function.py
├── main.py

我的主要朋友

def printFromMainA():
    print("FromMainA")


def printFromMainB():
    print("FromMainB")

我的函数/function.py

import sys
sys.path.insert(1, "Absolute path to import_test/")

from main import *

def printFunction():
    print("FromFunction")
    printFromMainA()
    printFromMainB()


printFunction()

最后,当我从import_test文件夹运行时

python functions/function.py 

我得到以下输出:

FromFunctionA
FromMainA
FromMainB

技术-2

您还可以使用sys.path.append()方法,该方法将main.py的路径附加到系统的路径变量。这将把当前路径添加到系统路径列表的最后一个位置

在这种情况下,只需对function.py执行以下操作:

import sys

sys.path.append("Absolute path to import_test/")

from main import *

def printFunction():
    print("FromFunction")
    printFromMainA()
    printFromMainB()


printFunction()

这也将为您提供所需的输出

相关问题 更多 >