鱼C论坛

 找回密码
 立即注册
查看: 792|回复: 6

[已解决]关于文件切割(029讲)的问题

[复制链接]
发表于 2020-6-16 11:43:09 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 长风破浪会有时 于 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()
最佳答案
2020-6-16 12:31:13


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

或者你切割这里用了对应不上的冒号,把文件里面冒号重新敲遍统一下,或者直接复制我最下面的文本重新建个测试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了! !
小甲鱼:哪里的?
小客服:上海的
小甲鱼:那正常,哪家公司?
小客服:他没说呀。
小甲鱼:哦
小客服:老大,为什么我工资那么低啊? ?是时候涨涨工资了! !
小甲鱼:啊,你说什么?我在外边呢,这里好吵吖。。。。。。
小客服:滚! ! !
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-16 11:45:30 | 显示全部楼层
发网络图片的方法:

第一步:

                               
登录/注册后可看大图




第二步:

                               
登录/注册后可看大图




更建议直接发代码



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-16 11:48:34 | 显示全部楼层
Twilight6 发表于 2020-6-16 11:45
发网络图片的方法:

第一步:

多谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-16 12:31:13 | 显示全部楼层    本楼为最佳答案   


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

或者你切割这里用了对应不上的冒号,把文件里面冒号重新敲遍统一下,或者直接复制我最下面的文本重新建个测试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了! !
小甲鱼:哪里的?
小客服:上海的
小甲鱼:那正常,哪家公司?
小客服:他没说呀。
小甲鱼:哦
小客服:老大,为什么我工资那么低啊? ?是时候涨涨工资了! !
小甲鱼:啊,你说什么?我在外边呢,这里好吵吖。。。。。。
小客服:滚! ! !
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-16 13:16:01 | 显示全部楼层
文件对话似乎是英文冒号,代码里用的分割点是中文的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-17 11:03:44 | 显示全部楼层
Twilight6 发表于 2020-6-16 12:31
第一个可能错误,是因为你文档里面 中英文冒号混用

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

文档和代码里都是用的中文冒号,但是执行以后创建的txt文档都是空白。但是全改为英文冒号后,代码执行后正常了。不知道为什么。不过还是谢谢你!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 16:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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