Python 如何使用dict调用文件并将其传递给类对象?

Python 如何使用dict调用文件并将其传递给类对象?,python,python-3.x,Python,Python 3.x,我需要调用类“Configurator”的一个对象,其中包含大量dict条目。调用来自命令行。所以我希望能像下面这样做。但它似乎不起作用。 设计中有重大错误吗 第一个文件: 发起者.py from configurator import Configurator def program1(**kwargs): sampleInstance = Configurator(kwargs) if __name__ == '__main__': kwargs = dict([arg.

我需要调用类“Configurator”的一个对象,其中包含大量dict条目。调用来自命令行。所以我希望能像下面这样做。但它似乎不起作用。 设计中有重大错误吗

第一个文件:

发起者.py

from configurator import Configurator

def program1(**kwargs):
    sampleInstance = Configurator(kwargs)

if __name__ == '__main__':
    kwargs = dict([arg.split('=', maxsplit=1) for arg in sys.argv[1:]])
    program1(kwargs)
第二个文件:

配置程序.py

class Configurator:
    def __init__(self, **kwargs):
        print(kwargs)
输入:

python .\initiator.py myValue1="Hello", myValue2="World"
输出:

program1(kwargs)
    TypeError: program1() takes 0 positional arguments but 1 was given
尝试:


使用Configurator**kwargs。对program1的调用是否应使用**?是。您可以将多个命名参数传递给program1。就像这里的python。\initiator.py myValue1=Hello,myValue2=World myValue1和myValue2是program1的两个命名参数。嗯,我的意思是:program1kwargsoh现在我得到了。。就连我也错过了**。更新了答案。谢谢
from configurator import Configurator
import sys

def program1(**kwargs):
    sampleInstance = Configurator(kwargs)

if __name__ == '__main__':
    kwargs = dict([arg.split('=', maxsplit=1) for arg in sys.argv[1:]])
    program1(**kwargs)