#!/usr/bin/python import sys if len(sys.argv) > 2: module, metaklass = sys.argv[1:3] m= __import__(module, globals(), locals(), [metaklass]) __metaclass__ = getattr(m, metaklass) class Data: def __init__(self): self.num = 38 self.lst = ['a', 'b', 'c'] self.str = 'spam' def dumps(self): return `self` def __str__(self): return self.dumps() if __name__ == '__main__': data = Data() print data