gpt4 book ai didi

python - 从不同目录执行 python 文件

转载 作者:行者123 更新时间:2023-12-01 01:44:53 24 4
gpt4 key购买 nike

我尝试了解如何将属于同一项目的 python 文件拆分到不同的目录中。如果我理解正确的话,我需要使用描述的包 here in the documentation .

所以我的结构如下所示:

.
├── A
│   ├── fileA.py
│   └── __init__.py
├── B
│   ├── fileB.py
│   └── __init__.py
└── __init__.py

带有空的__init__.py文件和

$ cat A/fileA.py 
def funA():
print("hello from A")

$ cat B/fileB.py
from A.fileA import funA

if __name__ == "__main__":
funA()

现在,我希望当我执行 B/fileB.py 时,我会得到 "Hello from A",但我却收到以下错误:

ModuleNotFoundError: No module named 'A'

我做错了什么?

最佳答案

您的问题与:Relative imports for the billionth time相同

TL;DR: you can't do relative imports from the file you execute since main module is not a part of a package.

作为主要:

python B/fileB.py

输出:

Traceback (most recent call last):
File "p2/m2.py", line 1, in <module>
from p1.m1 import funA
ImportError: No module named p1.m1

作为模块(不是主模块):

python -m B.fileB

输出:

hello from A

关于python - 从不同目录执行 python 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51480971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com