如何在Python中从不同的文件夹导入文件 [英] How to Import a File from a different folder in Python

查看:87
本文介绍了如何在Python中从不同的文件夹导入文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的项目结构:

  • Elvvo
    • 函数
      • lights.py
    • main.py

Elvvo文件夹的目录是/home/pi/Desktop/Elvvo,因为我正在处理树莓PI。

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

推荐答案

技术1

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

请看我是如何解决这个问题的:

我的文件夹结构如下:

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

My main.py

def printFromMainA():
    print("FromMainA")


def printFromMainB():
    print("FromMainB")

我的函数/函数.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的路径附加到系统的PATH变量。这会将当前路径添加到系统路径列表的最后位置。

在本例中,您只需对函数.py执行以下操作:

import sys

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

from main import *

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


printFunction()

这也应该会为您提供所需的输出。

这篇关于如何在Python中从不同的文件夹导入文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆