Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python按顺序将大文件拆分为较小的字符串_Python_Delimiter - Fatal编程技术网

使用python按顺序将大文件拆分为较小的字符串

使用python按顺序将大文件拆分为较小的字符串,python,delimiter,Python,Delimiter,我可以在一个循环中完成以下工作,但我正在寻找一种更干净的方法来完成这项工作,或者更好的方法 我有一个可能超过100000个字符的字符串 例如: somestring、otherstring、mystring、BlahsString等 我需要将字符串分解为多个字符串或一个列表,每个部分包含少于30000个字符,而在本例中,仅在分隔符逗号处进行切片 正如我之前所说,我编写了一个for循环,在这里我用几行代码来管理它,但是它很混乱,我想了解更多关于python的知识,所以我想在这里可以找到更好的方法来

我可以在一个循环中完成以下工作,但我正在寻找一种更干净的方法来完成这项工作,或者更好的方法

我有一个可能超过100000个字符的字符串

例如:

somestring、otherstring、mystring、BlahsString等

我需要将字符串分解为多个字符串或一个列表,每个部分包含少于30000个字符,而在本例中,仅在分隔符逗号处进行切片


正如我之前所说,我编写了一个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之类的东西。谢谢,谢谢你的帮助。