为什么我必须两次写这个import语句?

sub*_*ero 2 python import packages

这是我的文件夹结构:

/ Thermal_Formatter
  Thermal_Formatter.py
  __init__.py

test.py
Run Code Online (Sandbox Code Playgroud)

Thermal_Formatter.py我有这样的方法:

def processAndPrint(text):
Run Code Online (Sandbox Code Playgroud)

test.py这不起作用:

import Thermal_Formatter
Thermal_Formatter.processAndPrint(something)
Run Code Online (Sandbox Code Playgroud)

但这样做:

import Thermal_Formatter.Thermal_Formatter
Thermal_Formatter.Thermal_Formatter.processAndPrint(something)
Run Code Online (Sandbox Code Playgroud)

当我在import语句和模块调用中两次写模块名时,为什么它可以工作?

tay*_*fun 5

因为Thermal_Formatter模块位于具有相同名称的包中.尝试:

from Thermal_Formatter import Thermal_Formatter
Thermal_Formatter.processAndPrint(something)
Run Code Online (Sandbox Code Playgroud)

如果你想要一种更加理智的方式来使用它.