Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.5';硕士';和';widgetName';在__初始;_Python - Fatal编程技术网

Python 3.5';硕士';和';widgetName';在__初始;

Python 3.5';硕士';和';widgetName';在__初始;,python,Python,我正在从当前文件调用另一个python文件,并使用一个调用另一个文件中所有函数的函数 def choose1(): def openthis(): import board1 for i in dir(board1): item = getattr(board1,i) if callable(item): item() if __name__ == '__main__'

我正在从当前文件调用另一个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'
我环顾四周,看到了这一点,但它没有提到
master
widgetName
,我不确定它们的意思和我应该做什么

if callable(item):
    item()

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

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


一个修复方法是不使用来自。。。导入*,但导入模块本身-
导入tkinter
。但真正的解决办法是根本不做您正在做的事情。

“使用调用其他文件中所有函数的函数”-首先,这是一个糟糕的想法。第二,类是可调用的。您发布的代码不足以让我们重现您的问题。类?什么使它成为一个类?您正在迭代
board1
模块中的所有内容。其中一个是类,类是可调用的。
board1
中没有类,如果您遇到错误,这似乎不太可能。编辑问题以包括
board1
的内容。当模块导入内容时,导入的名称将成为该模块的属性
board1
tkinter
random
导入很多东西。你想把他们都叫来。