我有一个大小约为3MB的python-string对象。我需要将这些数据存储在aerospike中,我正在使用llist。现在问题是 - llist的个别元素不能超过特定限制 - 200Kb。有没有办法将python字符串或byteArray拆分成特定大小的较小块?
谢谢!
答案 0 :(得分:2)
您可以使用StringIO读取字符串的块:
import random
import string
data = ''.join(random.choice(string.ascii_uppercase) for i in range(100))
from io import StringIO
s = StringIO(data)
chunk = s.read(20) # Set to 200KB
while chunk:
print(chunk) # Do something with chunk
chunk = s.read(20)
输出:
BLAJHKDTRGALQUXHGVDR
MAQZTBARFZTYVVCNSSIR
NULVQTZFFLXEBHBLOJRR
PFEDLOSDSRHAYYXLAYBV
KSXPMGHDFJDLHGYEEWKD
答案 1 :(得分:1)
你究竟想做什么?
考虑以下代码:
s="string"
list(s)
将产生['s','t','r','i','n','g']
您还可以通过循环遍历字符串来获取单个字符:
for x in s:
print x
如果你想将字符串拆分成较小的字符串,大于单个字符,你可以这样做。
L=[]
n=5 #length of each string
for i in xrange(0,len(s),n):
L.append(s[i:i+n])
这会将s分成几个长度为n的小字符串。