我想做以下几件事:
File 1:
class x:
def somefunc(self):
# Some code
ect...
File 2:
import File 1
# Inherits x
class y(File1.x):
# Some code
ect...但这引发了一个错误:
“没有定义名称'x‘”
编辑:将x更改为File1.x。仍然不起作用
发布于 2013-12-15 10:25:12
您将模块导入您的命名空间;x是模块的一个属性:
import modulename
class y(modulename.x):或者,使用from modulename import语法将来自模块的对象绑定到本地命名空间:
from modulename import x
class y(x):发布于 2013-12-15 10:24:56
您需要执行from file1 import x或class y(file1.x)来完成此工作。
编辑:确保文件名中没有空格。也许这只是你问题中的一个错误,但在File2的顶部,你说的是import File 1而不是import File1。如果与File1对应的Python模块的名称确实包含一个或多个空格,则应该在文件名和import语句中删除它们(或用下划线替换它们)。正如this question接受的答案所解释的那样,文件名被用作导入模块的标识符,而Python标识符不能包含空格。
https://stackoverflow.com/questions/20593449
复制相似问题