我在python中编写命令行脚本来执行我的scala代码。但我正在使用List格式化输入json。
见下面python脚本的一部分:
CONTEXT_SETTINGS = """
{
"CustomerTable": {
"table": "%s",
"host" : "localhost",
"customerList" : %s
}
}
"""
class CmdLineParser():
def __init__(self, description):
self.parser = argparse.ArgumentParser(
description=description)
self.add_argument('-v', '--verbose', default=False,
action='store_true',
help='Verbose mode')
self.add_argument('-t', '--table', nargs='?',
help='my table', required=True)
def add_argument(self, *args, **kwargs):
self.parser.add_argument(*args, **kwargs)
def get_ctx_config(self, cust_sub_ids):
args = self.parser.parse_args()
context_dict = json.loads(
CONTEXT_SETTINGS % (args.table, customerids))
return context_dict
如何加载json文件来设置customerid。 customerid = ['1234','2345','5678'.....]和get_ctx_config是从主文件调用的。
以便输入json文件应该成为
{
"CustomerTable": {
"table": "mytable",
"host" : "localhost",
"customerList" : ["1234", 2345", "5678"]
}
}
和context_dic返回应该像:
u'CustomerTable': {u'table': u'mytable', u'host': u'localhost', u'cust_sub_id': [u'1234', u'1235', u'1236', u'1237', u'1234']}
如何编写python脚本来更新。
context_dict = json.loads(
CONTEXT_SETTINGS % (args.table, customerids))
以及在CONTEXT_SETTING中设置列表类型所需的内容,例如字符串的%s。
答案 0 :(得分:3)
为什么在你想要的只是字典时使用JSON?
context_dict = {
"CustomerTable": {
"table": args.table,
"host" : "localhost",
"customerList" : customerids
}
}