python - Python - 将文本文件拆分为具有字符长度限制的多个文件
问题描述
我正在尝试将 PYTHON 中的大文本文件拆分为具有以下条件的多个子文件:
- 子文件的字符数不得超过 1024 个字符
- 完整的英文句子(即从句号到下一个句号)必须在同一个文件中结束。
- 还要确保如果一行不以 ie 1.txt 结尾,那么它必须在 2.txt 中,并且必须重新计算 2.txt 文件的长度(并且不超过 1024 个字符)。
我一直在尝试的代码如下(我能够遵守条件 1 但无法满足条件 2 和 3):
maxChar = len(doc_text) #doc_text is the string containing the large text
excesstext = []
times = [1024 * i for i in range(0,int(maxChar/1024))]
for i in range(0, len(times)-1):
tempchar = ''
tempchar = tempchar + doc_text[times[i]:times[i+1]]
tempchar = tempchar.rsplit('.',1)
excesstext.append(tempchar[1])
with open( f'/content/trunc/{i}.txt', encoding='utf-8', mode='w') as f:
if len(excesstext)>1:
print(tempchar[0] + excesstext[i-1])
f.write(tempchar[0] + excesstext[i-1])
else:
print(tempchar[0])
f.write(tempchar[0])
如果可能的话,请帮助我。谢谢!!
解决方案
推荐阅读
- python - django 模型中的多对一
- python - 将 multiIndex 数据帧与第一个索引上的相同列组合
- css - 删除焦点边框 - mat-list
- javascript - jQuery 可排序和 AJAX 按列拖放
- .net - 将 NET-Object 传递给 Matab 中的并行函数(parfeval)
- c++ - 即使算法工作 C/C++,输出也始终相同
- python - 我可以为客户端使用一个套接字吗?
- asp.net - ASP.NET core 3.1 中“Web 应用程序”和“Blazor 服务器应用程序”的区别
- reactjs - 如何将组件(包含 jsx 代码)作为道具发送到另一个组件
- reactjs - 如何从 redux 存储中获取数据并在 React Native 中的组件中使用它