提问人:JanSkn 提问时间:9/22/2023 最后编辑:MSHJanSkn 更新时间:9/26/2023 访问量:46
从另一个文件夹导入 Python
Python import from another folder
问:
我以这个结构为例:
application
| main.py
├── folder
├── __init__.py
└── file.py
当我想从中导入一些东西时,我可以简单地做main.py
file.py
从 folder.file 导入 xy
但是我怎样才能从 main.py 导入 file.py 中的东西?
它不起作用,我尝试了系统,初始化.py文件...
谢谢
答:
0赞
Qeyzho
9/22/2023
#1
在这种情况下,您应该将 main.py 路径添加到 file.py 中。
import sys
print(sys.path)
结果将是 file.py 读取的路径列表,因此请通过 append 方法将主路径添加到此列表中。因为这个路径是父目录,所以只在当前目录前放双点:
sys.path.append('../folder')
然后,您可以从 main.py 导入。
评论
0赞
JanSkn
9/25/2023
对不起,我在下面的新答案中回答了,我以前从未使用过 Stackoverflow ^^提出自己的问题。你能看看我在那里做了什么吗?:D
0赞
JanSkn
9/25/2023
#2
# allows import from different folder
import sys
import os
current = os.path.dirname(os.path.realpath(__file__))
directory = os.path.join(current, "..", "neural_network")
sys.path.append(directory)
import numpy as np
from keras.datasets import mnist
import keras.utils
from dense_layer import Dense_layer
from activation_functions import Tanh
from loss_functions import mse, mse_derivative
from network import train, save
感谢您的回复。所以我用这个解决方案解决了我的问题,它现在可以工作了,但我的IDE(VSCode)说:导入“dense_layer”无法解决
评论
0赞
Qeyzho
9/25/2023
您的意思是从终端或 CMD 运行代码时可以,并且仅在 VS 代码中才会发生此错误吗?
0赞
JanSkn
9/26/2023
实际上它没有错误。它有效。它只是被突出显示
评论