使用python按顺序将大文件拆分为较小的字符串
我可以在一个循环中完成以下工作,但我正在寻找一种更干净的方法来完成这项工作,或者更好的方法 我有一个可能超过100000个字符的字符串 例如: somestring、otherstring、mystring、BlahsString等 我需要将字符串分解为多个字符串或一个列表,每个部分包含少于30000个字符,而在本例中,仅在分隔符逗号处进行切片使用python按顺序将大文件拆分为较小的字符串,python,delimiter,Python,Delimiter,我可以在一个循环中完成以下工作,但我正在寻找一种更干净的方法来完成这项工作,或者更好的方法 我有一个可能超过100000个字符的字符串 例如: somestring、otherstring、mystring、BlahsString等 我需要将字符串分解为多个字符串或一个列表,每个部分包含少于30000个字符,而在本例中,仅在分隔符逗号处进行切片 正如我之前所说,我编写了一个for循环,在这里我用几行代码来管理它,但是它很混乱,我想了解更多关于python的知识,所以我想在这里可以找到更好的方法来
正如我之前所说,我编写了一个for循环,在这里我用几行代码来管理它,但是它很混乱,我想了解更多关于python的知识,所以我想在这里可以找到更好的方法来处理它。感谢您的指导。python
str
类(字符串)包含一个名为split
的方法。您要做的是调用s.split(',')
。您可以使用所选的分隔符替换逗号。这将返回字符串列表。分隔符将从列表中的每个字符串中删除。我将这样做:
chunks = [] // used to store the smaller chunks
maxlen = 30000 // maximum chunk size
while True:
if len(myString) <= maxlen:
chunks.append(myString) // add the last chunk
break // done
sepIndex = myString.rfind(delim, 0, maxlen) // find last delimiter < maxlen
chunks.append(myString[:sepIndex]) // add it to chunks
myString = myString[sepIndex + 1:] // remove it and delimiter
chunks=[]//用于存储较小的块
maxlen=30000//最大块大小
尽管如此:
如果len(myString)可以指定您尝试了什么(代码)?这比我正在做的更干净。我有一个for循环,它通过附加数据的字符串工作,但是我自己做所有的工作,而不是使用示例中的rfind之类的东西。谢谢,谢谢你的帮助。