如何在Python中从不同的文件夹导入文件

How to Import a File from a different folder in Python(如何在Python中从不同的文件夹导入文件)
本文介绍了如何在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中从不同的文件夹导入文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)