我遇到了一段代码,如:
from object_recognition_msgs.msg import *
在我看来,但我发现object_recognition_msgs(这是一个目录)中没有msg.py, 但是,object_recognition_msgs中有一个名为“msg”的目录,目录的结构是
object_recognition_msgs
├── msg
├── __init__.py
├── _ObjectId.py
├── _ObjectInformation.py
├── _ObjectRecognitionActionFeedback.py
├── _ObjectRecognitionActionGoal.py
├── _ObjectRecognitionAction.py
├── _ObjectRecognitionActionResult.py
├── _ObjectRecognitionFeedback.py
├── _ObjectRecognitionGoal.py
├── _ObjectRecognitionResult.py
├── _RecognizedObjectArray.py
├── _RecognizedObject.py
├── _TableArray.py
└── _Table.py
我将“from object_recognition_msgs.msg import *”解释为导入object_recognition_msgs / msg中的所有python文件,这种解释是否正确?
提前致谢。
答案 0 :(得分:4)
该语句将导入包中__init__.py
模块的所有名称,而不是包含的文件。
您必须明确导入__init__.py
文件中包中的每个模块,以便*
导入包中所有模块中的所有内容。
答案 1 :(得分:1)
由于msg
是一个目录,因此import语句将执行文件msg/__init__.py
并导入该文件中定义的所有非私有名称。它不会导入任何其他文件,除非msg/__init__.py
自己导入它们。