无法使用json.dumps()在python中写字典到文件

时间:2017-07-25 11:19:24

标签: python json

我从JSON转储中获得响应,我正在尝试将其加载到log.txt文件中,但这不会打印出任何内容

我的功能

def get_customer_last_action_executed(self):
    """
    Get the customer last action executed
    By inputing the CustomerID
    :return:
    """
    payload ={'customerID': self.CustomerID}
    if not self.CustomerID:
        customer_id = raw_input("Please  provide the customer ID:")
        self.CustomerID = customer_id
        # raise Exception('No customerID provided')

    response = self.send_request(self.get_customer_last_action_executed_url + self.CustomerID,
                                 json.dumps(payload),
                                 "GET")

    print response.url, response.status_code
    print response, response.text, response.reason
    if response:
        print self.sucessful_msg
    else:
        print self.error_msg
    with open('log.txt', 'w') as f:
        json.dumps(payload, f)

1 个答案:

答案 0 :(得分:2)

您需要使用的是dump()而不是dumps()

<强>传入json.dump()

  

将obj序列化为JSON格式的流到fp(.write() - 支持   类文件对象

     

如果ensure_ascii为False,则写入fp的一些块可能是unicode   实例

<强> json.dumps()

  

将obj序列化为JSON格式的str

     

如果ensure_ascii为False,则结果可能包含非ASCII字符   并且返回值可以是unicode实例

可以在this主题

上找到完整的详细信息