Python: return 从 class 方法到 main() 的字典

Python: return dict from class method to main()

我很困惑,无法表达正确的 googlefu 来解决这个问题。我正在使用 argparse 尝试使用 CLI args 来制作字典。如何从 class 返回 jdict?或可调用以便我可以将它附加到另一个字典并写入文件?我希望避免放置其余代码(读取 json 文件、附加新字典、写入文件)

class MakeData:
    def __init__(self, args):
        self.args = args

    # Args taken, make dict with
    def makejson(self):
        self.jdict = {
            "key1": self.args.srv[0],
            "key2": self.args.srv[1],
            "key3": self.args.srv[2]
        }
        return self.jdict

def main():
    args = get_args()
    s = MakeData(args)
    s.makejson()

    # want to print jdict here, made from above class method
    print jdict

您正在返回所示代码中的 jdict。您只是没有使用变量来存储它。

jdict = s.makejson()
print jdict

或者,简单地说,

print s.jdict

也可以..这意味着不需要返回变量