|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 铁棍阿童木 于 2017-11-5 13:43 编辑
动动手:将record.txt文件中的内容使用pickle模块中的dump()方法分别存储起来
一种方式是:将“小甲鱼”和“小客服”的对话分别添加到列表,然后根据对话所在段落存储到对应的文件中(以“wb”模式打开文件,一次性写入所有数据)
另一种方式是:读取一行对话,判断改对话是“小甲鱼”还是“小客服”,然后追加到对应文件中(以“ab”模式打开文件,逐行追加写入)
遇到问题:用第二种方式实现程序时,无法将内容追加,难道pickle.dump()不能追加内容到文件?
代码如下:
- # 将文件record.txt中的数据进行分割并按照以下要求保存起来:
- """
- 1.小甲鱼的对话单独保存为boy_*.txt的文件(去掉“小甲鱼:”部分)
- 2.小客服的对话单独保存位girl_*.txt的文件(去掉“小客服:”部分)
- 3.文件总共有三段对话,分别保存为:boy_1.txt gril_1.txt
- boy_2.txt gril_2.txt
- boy_3.txt gril_3.txt
- 提示:文件中不同的对话间已经用“=====================”分割了。
-
- """
- import pickle
- all_chat = open("record.txt")
- paragraph = 1
- for each in all_chat:
- if "小甲鱼:" in each:
- boy_file_name = "boy_" + str(paragraph) + ".txt"
- boy_temp_obj = open(boy_file_name,"ab")
- pickle.dump(each[4:],boy_temp_obj)
-
- elif "小客服:" in each:
- girl_file_name = "girl_" + str(paragraph) + ".txt"
- girl_temp_obj = open(girl_file_name,"ab")
- pickle.dump(each[4:],girl_temp_obj)
-
- elif "==========" in each:
- paragraph += 1
- boy_temp_obj.close()
- girl_temp_obj.close()
- all_chat.close()
复制代码
文件都按照要求生成了,但是文件中都只有第一句对话,后面的所有对话都没有添加进去。求大神指点。 |
|