“。”的目的是什么从另一个py文件导入类时?

时间:2019-10-09 09:51:13

标签: python package python-module

我已经创建了2个Python文件,并将其保存在OOP_1文件夹中。从Python文件导入类时,尝试运行时出现错误,无法理解使用.的目的。

我曾尝试从相关的Python文件中删除.student.course,但无法使用main.pyfrom OOP_1 import *中运行。

  1. student.py

    class Student:
        def __init__(self,name, number):
            self._student_name = name
            self._student_number = number
    
  2. course.py

    from .student import Student
    
    class Course(Student):
        #instance attributes
        def __init__(self, name, code, credit, student_limit):
            # Your code for the constructor
            self._name = name
            self._code = code
            self._credit = credit
            self._student_limit = student_limit
    
  3. __init__.py

    from .student import Student
    from .course import Course
    
  4. main.py

    from OOP_1 import *
    

但是,在__init__中,Python给了我一个错误:

ModuleNotFoundError: No module named '__main__.student'; '__main__' is not a package

main.py中,Python给了我

ModuleNotFoundError: No module named 'course'

如何确保我存储课程的文件夹可以在main.py文件中使用?

1 个答案:

答案 0 :(得分:1)

  

A single leading dot indicates a relative import, starting with the current package.

您需要在当前上下文中具有这些模块才能像这样导入它们