我现在有一个1.1MB的文件“text.txt”。我想将其拆分为50kb的文本文件。 我会使用一个循环,如果我可以readlines()文件,但因为它是一个长字符串,我不确定我能做到。
答案 0 :(得分:4)
打开文件,设置一个字节range
进行迭代,然后seek()
到该位置,read()
在内容中,如果有内容,则将其写入新文件。如果没有内容,break
不在循环中。
with open('myfile.txt', 'r') as f:
for place in range(0, int(2e6), 50000):
f.seek(place)
content = f.read(50000)
if content:
with open('myfile{}.txt'.format(place), 'w') as o:
o.write(content)
else:
break
答案 1 :(得分:0)
您可以使用split命令。 例如: -
split -b 50k text.txt.
如果你想从python中执行此操作,可以使用subprocess.check_call()