在Python函数中使用** kwargs

问题描述

考虑以下方法

    def find_missing(self,**kwargs):
        if save == True:
            tmp = find_one_missing(self.data)
            tmp.to_csv(path)
        else:
            return find_one_missing(self.data)

我想要实现的是将变量savepath设为kwargs,使用者可以指定其中一个

x.find_missing()

将返回find_one_missing()函数输出,或者用户可以插入

x.find_missing(save=True,path=user_string_pathway)

输出自动保存到某个位置。我该怎么办?

解决方法

致电:

find_missing(save=True,path="/path/...")

使用kwargs ['save']和kwargs ['path']

访问值
def find_missing(self,**kwargs):
        if kwargs['save'] == True:
            tmp = find_one_missing(self.data)
            tmp.to_csv(kwargs['path'])
        else:
            return find_one_missing(self.data)