Python 3.x 如何从另一个文件导入python中的类对象

Python 3.x 如何从另一个文件导入python中的类对象,python-3.x,Python 3.x,假设我有一个目录,其中包含文件classfile.py和一个test\u classfile.py 这里是classfile.py 班级学生: 定义初始化(self、fname、lname): self.firstname=fname self.lastname=lname def打印名(自身): return(self.firstname+self.lastname) 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': s=学生(‘约翰’、‘多伊’) 我要

假设我有一个目录,其中包含文件
classfile.py
和一个
test\u classfile.py

这里是
classfile.py

班级学生:
定义初始化(self、fname、lname):
self.firstname=fname
self.lastname=lname
def打印名(自身):
return(self.firstname+self.lastname)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
s=学生(‘约翰’、‘多伊’)
我要做的是只导入对象
s
进入
测试文件.py

像这样的,

从dir.classfile.Student导入
def test_类文件():
assert str(s.printname()).isalpha()
我得到以下错误

ModuleNotFoundError: No module named 'dir.classfile.Student'; 'dir.classfile' is not a package

正如所说,“dir.classfile”不是一个包。如果.py文件都在同一目录中,则只需执行“导入类文件”。假设classfile.py位于不同的目录中,则必须执行以下操作:

import os.path
path_to_mods = os.path.abspath('path/to/classfile')
sys.path.insert(0, path_to_mods)
import classfile
无法从“学生”导入-这是一个对象。但您可以这样导入学生:

from classfile import Student

此外,您不能导入类的实例,该类是s。您应该像上面所说的那样导入对象,然后创建一个实例。

您认为这行代码的作用是什么<代码>如果uuu name uuuu='uuuu main uuuu':这里还有其他错误,但对我来说这是最明显的错误。