(мне кажется, я часами искал на стек-обмене и в интернете, но не смог найти правильный ответ)
То, что я пытаюсь сделать здесь, это подсчитать количество строк в файле, я добился этого с помощью этого кода здесь
# Does not loud into memory
def file_len(fname):
with open(fname) as f:
for i, l in enumerate(f, 1):
pass
print(i)
file_len('bigdata.txt')
затем я беру количество строк в файле и делю его на два / три / и т. Д. (Чтобы сделать два / три / и т. Д. Файла с одинаковым количеством строк), например. bigdata.txt = 1000000 строк
1000000/2 = 500000 Итак, здесь у меня будет два файла по 500000 строк в каждом, один от 1 до 500000, а другой от 500001 до 1000000.
У меня уже есть этот код, который ищет шаблон в исходном файле (bigdata.txt), но я не ищу какой-либо шаблон, просто хочу разбить его на две половины или еще что-нибудь. Вот код для этого:
# Does not loud into memory
with open('bigdata.txt', 'r') as r:
with open('fhalf', 'w') as f:
for line in r:
if line == 'pattern\n': # Splits the file when there is an occurence of the pattern.
#But the occurence as you may notice won't be included in either the two files which is not a good thing since I need all the data.
break
f.write(line)
with open('shalf.txt', 'w') as f:
for line in r:
f.write(line)
Так что я ищу простое решение, и я знаю, что оно есть, просто пока не могу его найти.
Примером может быть: file1.txt, file2.txt, каждый с одинаковыми номерами строк.
Спасибо всем за потраченное время.