我想从同一目录中的另一个文件导入一个函数.
有时它适用于我,from .mymodule import myfunction但有时我会得到:
SystemError: Parent module '' not loaded, cannot perform relative import
Run Code Online (Sandbox Code Playgroud)
有时它适用from mymodule import myfunction,但有时我也得到:
SystemError: Parent module '' not loaded, cannot perform relative import
Run Code Online (Sandbox Code Playgroud)
我不明白这里的逻辑,我找不到任何解释.这看起来完全随机.
有人可以向我解释这一切背后的逻辑是什么吗?
我有一个存储所有.py文件的目录.
bin/
main.py
user.py # where class User resides
dir.py # where class Dir resides
Run Code Online (Sandbox Code Playgroud)
我想在main.py中使用user.py和dir.py中的类.
如何将这些Python类导入main.py?
此外,User如果user.py位于子目录中,如何导入类?
bin/
dir.py
main.py
usr/
user.py
Run Code Online (Sandbox Code Playgroud) 我有一个目录结构
??? simulate.py
??? src
? ??? networkAlgorithm.py
? ??? ...
Run Code Online (Sandbox Code Playgroud)
我可以访问网络模块sys.path.insert().
import sys
import os.path
sys.path.insert(0, "./src")
from networkAlgorithm import *
Run Code Online (Sandbox Code Playgroud)
但是,pycharm抱怨它无法访问模块.我如何教pycham来解决参考?

我有以下目录:
mydirectory
??? __init__.py
??? file1.py
??? file2.py
Run Code Online (Sandbox Code Playgroud)
我有一个在file1.py中定义的函数f.
如果,在file2.py中,我这样做
from .file1 import f
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
SystemError:父模块''未加载,无法执行相对导入
为什么?以及如何使它工作?