夜阑听雨眠
2019-03-01 17:15
采纳率: 40%
浏览 1.3k

把文档中的每一行都提取出来并且每一行都生成一个新的文本文档,代码应该怎么写?

我有一个txt文档,里面的内容好比:

张三 1

李四 2

王五 3

然后我需要把这个文档中的每一行都提取出来并且每一行都生成一个新的文本文档,并且文本文档以词条所在行数命名。意思就是我希望生成1.txt,2.txt,3.txt三个文档,这三个文档的内容分别是:张三 1;李四 2;王五 3

大大们求指导

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 代码的灵魂是bug! 2019-03-01 17:49
    已采纳

    这个问题其实很简单,首先是逐行读取第一个文本文件中的内容,也就是需要一个while循环,其次是创建新的文本文件,利用open函数即可,不多说,看代码:

    import os,sys
    file = open('ts.txt')
    path = os.path.dirname(os.path.realpath(__file__))
    i = 0
    
    while 1:
        i+=1
        line = file.readline()
        if not line:
            break
        fullpath = path+'/'+str(i)+'.txt'
        fb = open(fullpath,'w')
        fb.write(line)
        fb.close()
    file.close()
    
    打赏 评论
  • 毕小宝 2019-03-01 18:05

    三个知识点:1、读取文件并循环 2、文本分割 3、创建空文件

    import os
    f = open("info.txt")
    line = f.readline()
    while line:
        #print (line.split()[1])
        fileName = line.split()[1]+'.txt'
        print (fileName)
        line = f.readline()
    
    f.close()
    
    打赏 评论

相关推荐 更多相似问题