这是我的项目结构:
- 埃尔沃
- 功能
- 灯光.py
- 主文件
- 功能
Elvvo 文件夹的目录与/home/pi/Desktop/Elvvo我在 Raspberry Pi 上工作时一样。
我在main.py. 我想从lights.py. 我该怎么做呢?提前致谢!
这是我的项目结构:
Elvvo 文件夹的目录与/home/pi/Desktop/Elvvo我在 Raspberry Pi 上工作时一样。
我在main.py. 我想从lights.py. 我该怎么做呢?提前致谢!
您可以使用sys.path.insert()内置方法将 main.py 的路径插入到系统路径变量的位置 1 中。这样可以确保以最高优先级加载它,并避免任何命名冲突(如果存在)。
请在下面查看我是如何解决这个问题的:
我的文件夹结构如下图:
import_test
├── functions
│ └── function.py
├── main.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
您还可以使用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()
这也应该为您提供所需的输出。