鱼C论坛

 找回密码
 立即注册
查看: 2110|回复: 2

[已解决]请问为啥存储后的代码读取出来是个空的列表??

[复制链接]
发表于 2021-6-27 21:14:00 | 显示全部楼层 |阅读模式
8鱼币
import pickle
def test1(path):
    g = open(path,'r')
    count = 1
    list1 = []  # 小甲鱼
    list2 = []  # 小客服
    for each_line in g:
        if '===' in each_line:
            f = open('D:\\QQ下载\\boy_%d.txt' % count,'wb')
            d = open('D:\\QQ下载\\girl_%d.txt' % count, 'wb')
            pickle.dump(list1,f)
            pickle.dump(list2,d)
            f.close()
            d.close()
            list1.clear()  # 小甲鱼
            list2.clear()  # 小客服
            count += 1
        if each_line[:2] == '小甲鱼':
            list1.append(each_line)
        elif each_line[:2] == '小客服':
            list2.append(each_line)
    if count == 3:
        f = open('D:\\QQ下载\\boy_%d.txt' % count, 'wb')
        d = open('D:\\QQ下载\\girl_%d.txt' % count, 'wb')
        pickle.dump(list1, f)
        pickle.dump(list2, d)
        f.close()
        d.close()
test1('D:\\QQ下载\\record.txt')
最佳答案
2021-6-27 21:14:01
。。。
        if each_line[:2] == '小甲鱼':     # 这句永远不会相等(2个字符,怎么会等于3个字符呢?)
            list1.append(each_line)
        elif each_line[:2] == '小客服':   # 这也一样错。应该是 [:3]
            list2.append(each_line)

总体来看,就是 list1, list2 自始至终都没添加进任何元素,所以最后肯定是空列表。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-27 21:14:01 | 显示全部楼层    本楼为最佳答案   
。。。
        if each_line[:2] == '小甲鱼':     # 这句永远不会相等(2个字符,怎么会等于3个字符呢?)
            list1.append(each_line)
        elif each_line[:2] == '小客服':   # 这也一样错。应该是 [:3]
            list2.append(each_line)

总体来看,就是 list1, list2 自始至终都没添加进任何元素,所以最后肯定是空列表。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-6-28 14:51:09 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 06:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表