从文件中获取部分文本并将其写入Python中的单独文件的函数

时间:2015-10-28 01:15:50

标签: python list

我想知道如何创建一个函数,将包含一些段落的文件拆分为单独的输出文件,每个文件一个段落。每个文件应命名为fileN.txt,N是段落的编号。

    def para_split(input_file):
        input_file = open(input_file, "r")
        para_whole = input_file.readlines()

        para1 = para_whole[0:17]
        para2 = para_whole[17:34]
        para3 = para_whole[34:51]
        para4 = para_whole[51:68]
        input_file.close()

1 个答案:

答案 0 :(得分:0)

例如,如果您的文件如下:

... finishing this paragraph.

Starting this paragraph...

这意味着每个段落彼此之间用空行分隔。所以,试试这个:

def para_split(input_file):
    input_file = open(input_file, "r")
    empty_lines = 0
    amount_of_files = 5
    files = []

    for i in range(amount_of_files):
         output_file = open('file'+str(i)+'.txt','w')
         files.append(output_file)

    for line in input_file:
        if empty_lines < 10:
             files[0].write(line)
        elif 10 <= empty_lines < 15:
             files[1].write(line)
         .
         .
         .
        elif 50 <= empty_lines < 60:
             files[4].write(line)

        if line == '\n':
            empty_lines += 1

    for file in files:
        file.close()

检查是否有效,我无法在此计算机上执行此操作。