Здравствуйте. У меня есть файл, в котором около 7 тысяч символов. Мне нужно разделить его на две части и записать в два файла. Возможно, кто-то скажет, что такие вопросы уже есть. Но не все так просто. Дело в том, что этот файл состоит из одной строки. Это код base64.
Этот код делит файл по строкам:
def sequence_cut(path_file_in, path_dir_out, count_lines=1):
'''Функция sequence_cut разрезает файл с расширением .txt на файлы с расширением .txt c заданным количеством строк.
Параметры: path_file_in : str
Абсолютный или относительный путь до файла с расширением .txt, который нужно разрезать.
path_dir_out : str
Абсолютный или относительный путь до папки, в которую будут помещаться нарезанные файлы.
count_lines : int, default 500000
Количество строк, на которые разрезается исходный файл.
Возвращаемое значение: None
'''
def delete_line_feed_end(line):
if line[-1:] == '\n':
return line[:-1]
return line
path_dir_out += '\\' + path_file_in.split('\\')[-1][:-4]
stop_iteration = count_lines - 2
try:
file_number = 1
with open(path_file_in) as file_read:
line = file_read.readline()
while line:
new_file_name = path_dir_out + '_' + str(file_number) + '.txt'
with open(new_file_name, 'w') as file_write:
file_write.write(delete_line_feed_end(line))
line = file_read.readline()
i = 0
while line and (i < stop_iteration):
file_write.write('\n')
file_write.write(line[:-1])
line = file_read.readline()
i += 1
if line:
file_write.write('\n')
file_write.write(delete_line_feed_end(line))
file_number += 1
line = file_read.readline()
except Exception as err:
print('Ошибка: ', err)
Можно ли написать что-то подобное? Важно, чтобы код делил исключительно по символам, например на 3500 и 3500 символов.