json(pickle)用法记录

将内存数据放入文件中保存:
从文件中将数据读到内存:
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个基于Python的聊天互动交互模式的代码示例,可以通过网络接入任何聊天对话API,同时可以保存每个好友的对话聊天记录。 首先,你需要安装一些Python库,包括`requests`、`json`、`pickle`等。你可以使用以下命令进行安装: ``` pip install requests pip install json pip install pickle ``` 接下来,我们需要定义一个`Friend`类来保存每个好友的聊天记录。这个类有两个属性:`name`表示好友的名字,`chat_log`表示和好友的聊天记录,是一个列表。 ```python class Friend: def __init__(self, name): self.name = name self.chat_log = [] ``` 然后,我们需要定义一个`Chatbot`类来实现聊天互动交互模式。这个类有一个属性`friends`,是一个字典,保存了所有好友的信息。我们还定义了一个`select_friend`方法,用于选择要与之聊天的好友。 ```python class Chatbot: def __init__(self): self.friends = {} def select_friend(self): friend_names = list(self.friends.keys()) print("请选择要聊天的好友:") for i, name in enumerate(friend_names): print("{0}. {1}".format(i+1, name)) friend_index = int(input()) - 1 return self.friends[friend_names[friend_index]] ``` 接下来,我们需要定义一个`API`类来实现与聊天对话API的交互。这个类有一个`send_message`方法,用于向API发送消息,并返回API的响应。 ```python class API: def __init__(self, api_url): self.api_url = api_url def send_message(self, message): data = {"message": message} response = requests.post(self.api_url, json=data) return json.loads(response.text)["response"] ``` 最后,我们需要定义一个`main`函数来实现聊天互动交互模式的主要逻辑。在这个函数中,我们首先初始化一个`Chatbot`对象,并添加一些好友信息。然后,我们进入一个循环,每次循环中调用`select_friend`方法选择要聊天的好友,然后获取用户输入的消息并发送给API。API返回的响应被添加到好友的聊天记录中,并输出到控制台。 ```python def main(): chatbot = Chatbot() # 添加好友信息 friend1 = Friend("Tom") friend2 = Friend("Jerry") chatbot.friends[friend1.name] = friend1 chatbot.friends[friend2.name] = friend2 api = API("http://localhost:5000/chat") while True: friend = chatbot.select_friend() message = input("请输入消息:") response = api.send_message(message) friend.chat_log.append((message, response)) print("好友 {0} 回复:{1}".format(friend.name, response)) ``` 这样,一个基于Python的聊天互动交互模式就实现了。你可以根据需要修改代码中的API地址和好友信息。同时,你也可以将好友的聊天记录保存到本地文件中,这可以通过使用`pickle`库来实现。例如,你可以在`Friend`类中添加一个`save_chat_log`方法来保存聊天记录: ```python class Friend: def __init__(self, name): self.name = name self.chat_log = [] def save_chat_log(self): with open("{0}.pkl".format(self.name), "wb") as f: pickle.dump(self.chat_log, f) ``` 然后,在`main`函数中,每次聊天结束后,你就可以调用`save_chat_log`方法来保存聊天记录了: ```python while True: friend = chatbot.select_friend() message = input("请输入消息:") response = api.send_message(message) friend.chat_log.append((message, response)) friend.save_chat_log() print("好友 {0} 回复:{1}".format(friend.name, response)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值