我正在使用pycharm,并且无法从以下项目结构的格式的子类代码导航到基类
dir 1 Base class dir 2使用这种方式导入类时的子类,pycharm无法导航到基类但Python文件正确执行
sys.insert.path("../dir1/")
import baseclass
当我使用导入类时
import dir1.baseclass
使pycharm了解基类的位置,并使用快捷方式导航到它。在这种情况下,Python脚本可以使用pycharm正确执行。
我无法理解python如何自动找出import dir1.baseclass中baseclass.py的路径,因为我从未给出dir1的相对或绝对路径。它是否自动假定dir1将与子类的目录级别相同。
为什么pycharm表现不同,这些导航语句的执行工作相同?
基本上,当您调用Python来运行存档时,它将包含此存档的目录定义为工作目录。之后,Python的解释器尝试解析导入,为此,它首先在工作目录中搜索这些导入。
但是,当你使用import dir1.baseclass
时,你告诉Python文件基类不在工作目录中,但是在它的一个子目录中,在这种情况下,在../WorkingDirecory/dir1/
中,所以,python导航到那里并导入了类。