<p>进行一些试验后,添加:
<code>with open(berkas_ori,'r') as main_file:</code>之前再次
<code>for line in main_file:</code></p>
<p>将是:</p>
<pre><code>def fChunks(l, n):
"""Chunks iterable into n sized chunks"""
for i in range(0, len(l), n):
yield l[i:i + n]
folder=r"_my_folder"
berkas_ori = pat(fr"{folder}\my_text.txt")
try:
lines = []
with open(berkas_ori,'r') as main_file:
# head = [next(main_file) for x in range(1000)]
total_baris = sum(1 for line in main_file)
print(f"Total jlh baris: {total_baris:,.0f}")
with open(berkas_ori,'r') as main_file:
for line in main_file:
lines.append(line)
jlh_baris_chunk = math.ceil(total_baris/5)
print(f"Jlh baris per chunk= {jlh_baris_chunk}")
# Write each group of lines to separate files
for i, group in enumerate(fChunks(lines, n=jlh_baris_chunk), start=1):
berkas_tgt=pat(fr"{folder}\chunks\my_text_{i}.txt")
with open(berkas_tgt, mode="w") as out_file:
for line in group:
out_file.write(line)
print(f"Finish generating {berkas_tgt}")
except FileNotFoundError as e:
print(e)
</code></pre>
<p>它解决了问题,并按预期创建了5个文件</p>
<p>很抱歉给您带来不便</p>