Python 3.5“master”和“widgetName”在“\uu init\uu”中

2024-09-29 23:26:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在从当前文件调用另一个python文件,并使用一个函数调用另一个文件中的所有函数

def choose1():
    def openthis():
        import board1
        for i in dir(board1):
            item = getattr(board1,i)
            if callable(item):
                item()
    if __name__ == '__main__':
        openthis()

注意:board1是一个python文件

使用此函数,我得到错误:

TypeError: __init__() missing 2 required positional arguments: 'master' and 'widgetName'

我环顾四周,看到这个answer,但它没有提到masterwidgetName,我不确定它们的意思和我应该做什么


Tags: 文件函数inimportmasterforifdef
2条回答
if callable(item):
    item()

item是一个类,您试图创建该类的实例,但该类有两个必需的参数,并且您根本不传递任何参数

您的文件将所有tkinter和random直接导入到自己的命名空间中。因此,当您迭代该名称空间中的所有内容时,也会从这些模块中获取对象

一种修复方法是不使用from ... import *,而是导入模块本身import tkinter。但真正的解决办法是根本不做你正在做的事情

相关问题 更多 >

    热门问题