长风破浪会有时 发表于 2020-6-16 11:43:09

关于文件切割(029讲)的问题

本帖最后由 长风破浪会有时 于 2020-6-16 11:52 编辑

没法发图片,文字叙述一下,执行一下代码后,创建的文档都是空文档是为什么?代码应该和小甲鱼基本一致了。谢谢各位!

f=open("E:\\测试文档.txt")

boy=[]
girl=[]
count=1

for each_line in f:
    if each_line[:3] != "===":
      (name,coversation)=each_line.split(":",1)
      if name=="男":
            boy.append(conversation)
      if name=="女":
            girl.append(conversation)
    else:
      boy_name_file="boy_"+str(count)+".txt"
      girl_name_file="girl_"+str(count)+".txt"

      boy_file=open(boy_name_file,"w")
      girl_file=open(girl_name_file,"w")

      boy_file.writelines(boy)
      girl_file.writelines(girl)

      boy_file.close()
      girl_file.close()

      count +=1

      boy=[]
      girl=[]

f.close()

Twilight6 发表于 2020-6-16 11:45:30

发网络图片的方法:

第一步:
https://xxx.ilovefishc.com/forum/202005/24/124933bcrv80s06cr7vcax.png



第二步:
https://xxx.ilovefishc.com/forum/202006/14/090811os820zn7nansorro.png



更建议直接发代码



长风破浪会有时 发表于 2020-6-16 11:48:34

Twilight6 发表于 2020-6-16 11:45
发网络图片的方法:

第一步:


多谢

xiaosi4081 发表于 2020-6-16 12:30:51

f=open("E:\\测试文档.txt")

boy=[]
girl=[]

for each_line in f:
    if each_line[:3] != "===":
      (name,coversation)=each_line.split(":",1)
      if name=="男":
            boy.append(conversation)
      if name=="女":
            girl.append(conversation)
    else:
      boy_name_file="boy_"+str(count)+".txt"
      girl_name_file="girl_"+str(count)+".txt"

      boy_file=open(boy_name_file,"w")
      girl_file=open(girl_name_file,"w")
      for i in boy:
            boy_file.write(i)
      for i in girl:
            girl_file.write(i)

      boy_file.close()
      girl_file.close()

      boy=[]
      girl=[]

f.close()

Twilight6 发表于 2020-6-16 12:31:13

长风破浪会有时 发表于 2020-6-16 11:48
多谢

第一个可能错误,是因为你文档里面 中英文冒号混用

或者你切割这里用了对应不上的冒号,把文件里面冒号重新敲遍统一下,或者直接复制我最下面的文本重新建个测试txt文件

第二个错误:
(name,coversation)=each_line.split(":",1)
      if name=="男":
            boy.append(conversation)
      if name=="女":
            girl.append(conversation)
变量不一致

f=open("E:\\测试文档.txt")

boy=[]
girl=[]
count=1

for each_line in f:
    if each_line[:3] != "===":
      (name,coversation)=each_line.split(":",1)
      if name=="男":
            boy.append(coversation)
      if name=="女":
            girl.append(coversation)
    else:
      boy_name_file="boy_"+str(count)+".txt"
      girl_name_file="girl_"+str(count)+".txt"

      boy_file=open(boy_name_file,"w")
      girl_file=open(girl_name_file,"w")

      boy_file.writelines(boy)
      girl_file.writelines(girl)

      boy_file.close()
      girl_file.close()

      count +=1

      boy=[]
      girl=[]

f.close()


文本内容:
小客服:小甲鱼,今天有客户问你有没有女朋友?
小甲鱼:咦? ?
小客服:我跟她说你有女朋友了!
小客服:她让你分手后考虑下她!然后我说: "您要买个优盘,我就帮您留意下~"
小甲鱼:然后呢?
小客服:她买了两个,说发一个货就好~
小甲鱼:呃。。。。。。你真牛!
小客服:那是,谁让我是鱼C最可爱小客服嘛~
小甲鱼:下次有人想调戏你我不阻止~
小客服:滚! ! !
================================================================================
小客服:小甲鱼,有个好评很好笑哈。
小甲鱼:哦?
小客服:"有了小甲鱼,以后妈妈再也不用担心我的学习了~”
小甲鱼:哈哈哈, 我看到丫A我还发微博了呢~
小客服:嗯嗯,我看了你的微博丫~
小甲鱼:哟西~
小客服:那个有条回复"左手拿著小甲魚,右手拿著打火機,哪裡不會點哪裡, so easy^. ^”
小甲鱼:T_T
================================================================================
小客服:小甲鱼,今天- -个会员想找你
小甲鱼:哦?什么事?
小客服:他说你- -个学生月薪已经超过12k了! !
小甲鱼:哪里的?
小客服:上海的
小甲鱼:那正常,哪家公司?
小客服:他没说呀。
小甲鱼:哦
小客服:老大,为什么我工资那么低啊? ?是时候涨涨工资了! !
小甲鱼:啊,你说什么?我在外边呢,这里好吵吖。。。。。。
小客服:滚! ! !

Hoiste 发表于 2020-6-16 13:16:01

文件对话似乎是英文冒号,代码里用的分割点是中文的。

长风破浪会有时 发表于 2020-6-17 11:03:44

Twilight6 发表于 2020-6-16 12:31
第一个可能错误,是因为你文档里面 中英文冒号混用

或者你切割这里用了对应不上的冒号,把文件里面 ...

文档和代码里都是用的中文冒号,但是执行以后创建的txt文档都是空白。但是全改为英文冒号后,代码执行后正常了。不知道为什么。不过还是谢谢你!
页: [1]
查看完整版本: 关于文件切割(029讲)的问题