鱼C论坛

 找回密码
 立即注册
查看: 2680|回复: 3

[已解决]这个代码我觉得没毛病,但是就是有问题,请给我解惑,谢谢

[复制链接]
发表于 2020-2-29 22:46:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 充电来啦 于 2020-2-29 22:57 编辑
  1. import pickle
  2. l=[]
  3. c=[]

  4. def dou():
  5.    
  6.     dd1=1
  7.     mm1=1
  8.    
  9.     f=open(r'C:/Users/Administrator/Desktop/python/444.txt','r',encoding='utf-8')    ’打开了一个目标文本[color=Red][/color]
  10.     for i in f:
  11.         if i!='======':
  12.             if i.split(':',1)[0]=='小甲鱼':
  13.                 l.append(i.split(':',1)[1])  
  14.                                                   
  15.             if i.split(':',1)[0]=='小客服':
  16.                 c.append(i.split(':',1)[1])
  17.                上面这一节代码是为了把符合条件的文本写到列表
  18.         else:
  19.             dd=open('dd_'+str(dd1)+'.txt','wb')
  20.             mm=open('mm_'+str(mm1)+'.txt','wb')
  21.             pickle.dump(l,dd)
  22.             pickle.dump(c,mm)
  23.             dd.close()
  24.             mm.close()
  25.             dd1+=1
  26.             mm1+=1
  27.         这段代码是在第一个条件不对的时候进行打开两个空文本,在分别写入两个列表进行pickle的保存二进制
  28.         然后关闭文件,思路如此,但不知为何得到的是两个空文本
复制代码
最佳答案
2020-2-29 23:37:07
dd=open('dd_'+str(dd1)+'.txt','wb')
            mm=open('mm_'+str(mm1)+'.txt','wb')
            pickle.dump(l,dd)
            pickle.dump(c,mm)
            dd.close()
            mm.close()

这段代码还用也是放在def 中,for外面吧。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-29 23:37:07 | 显示全部楼层    本楼为最佳答案   
dd=open('dd_'+str(dd1)+'.txt','wb')
            mm=open('mm_'+str(mm1)+'.txt','wb')
            pickle.dump(l,dd)
            pickle.dump(c,mm)
            dd.close()
            mm.close()

这段代码还用也是放在def 中,for外面吧。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-29 23:46:03 From FishC Mobile | 显示全部楼层
你先调试在14行和第18行看看dd1和mm1是不是成功写入了内容
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-1 16:29:18 | 显示全部楼层
ba21 发表于 2020-2-29 23:37
dd=open('dd_'+str(dd1)+'.txt','wb')
            mm=open('mm_'+str(mm1)+'.txt','wb')
            pi ...

不是的,我试了一天,发现是我的IF语句错了
  1. import pickle
  2. l=[]
  3. c=[]
  4. dd1=1
  5. mm1=1
  6.    
  7. f=open(r'C:/Users/Administrator/Desktop/python/444.txt','r',encoding='utf-8')
  8. for i in f:
  9.     if i.split(':',1)[0]=='小甲鱼':
  10.         l.append(i.split(':',1)[1])

  11.     elif i.split(':',1)[0]=='小客服':
  12.         c.append(i.split(':',1)[1])
  13.    
  14.     else: 本来这里是IF的  ,我换成else后就可以了,感谢回答!
  15.         dd=open(r'C:/Users/Administrator/Desktop/python/测试_'+str(dd1)+'.txt','wb')
  16.         mm=open(r'C:/Users/Administrator/Desktop/python/测_'+str(dd1)+'.txt','wb')
  17.         pickle.dump(l,dd)
  18.         pickle.dump(c,mm)
  19.         dd.close()
  20.         mm.close()
  21.         l=[]
  22.         c=[]
  23.         dd1+=1
  24.         mm1+=1
  25.    
  26.     dd=open(r'C:/Users/Administrator/Desktop/python/测试_'+str(dd1)+'.txt','wb')
  27.     mm=open(r'C:/Users/Administrator/Desktop/python/测_'+str(dd1)+'.txt','wb')
  28.     pickle.dump(l,dd)
  29.     pickle.dump(c,mm)
  30.     dd.close()
  31.     mm.close()  
  32.             
  33. f.close()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-1 17:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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