Разбивка текстового файла на несколько

Доброго вечера всем (так как пишу пост вечером ))

Сегодня мне пришлось решать задачу с разбивкой текстового файла на несколько. Признаком для разбивки я выбрал количество строк, так как файл содержал >53000 ссылок (понимать — строк).

Решение в интернете искал минут 20. Потом, после того как нашел несколько нерабочих скрипта на VBScript и bat, написал более надежный, свой, за 3 минуты (пока откроешь SublimeText, пока сохранишь файл…).

Пользуйтесь.

#~*~ coding: utf-8 ~*~

# Open file
src = open('links.txt', 'r')
i = 0
line_i = 0
dest_str = 'links_%s.txt'

# maximum lines count for each new file
max_lines_count = 1000

# read lines
lines = src.readlines()
src.close()

# open new file 'links_0.txt'
f = open(dest_str % i, 'w+')

# for each line
for line in lines:
    # if lines count in new file is 1000
    if line_i == max_lines_count:
        # clise created file
        f.close()
        i += 1
        # create new file
        f = open(dest_str % i, 'w+')
        line_i = 0
        print('creating file %s\n' % (dest_str % i))
    # write line in file
    f.write(line)
    line_i += 1

f.close()

 

Kamo Petrosyan Автор

Добавить комментарий

Ваш e-mail не будет опубликован.