摘要: 今天在写脚本过程中需要将大量字符存入 python 字符串, 遂好奇 python 的字符串是否有长度限制 经查询文档未发现提及长度限制, 后来在 stackoverflow 找到了相关讨论: 原文链接: link 大意为无环境限制下 python 的 string 中存储极限字符数量是多少, 其中一位网友进行了实验, 以下为相...
今天在写脚本过程中需要将大量字符存入 python 字符串, 遂好奇 python 的字符串是否有长度限制
经查询文档未发现提及长度限制, 后来在 stackoverflow 找到了相关讨论:
大意为无环境限制下 python 的 string 中存储极限字符数量是多少, 其中一位网友进行了实验, 以下为相关代码:
def create1k():
s = ""
for i in range(1024):
s += '*'
return s
def create1m():
s = ""
x = create1k()
for i in range(1024):
s += x
return s
def create1g():
s = ""
x = create1m()
for i in range(1024):
s += x
return s
print("begin")
s = ""
x = create1g()
for i in range(1024):
s += x
print(str(i) + "g ok")
print(str(len(s)) + 'bytes')
测试结果: 在使用了 116G 内存后报内存错误
结论: python 本身对 string 长度无强制性限制使用过程中主要需要考虑电脑性能和程序效率
来源: http://click.aliyun.com/m/41515/