python字符串最长长度_Python字符串的最大长度是多少?

我在EC2实例上运行此代码。

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')

这就是输出

[[email protected] ~]$ time python hog.py

begin

0g ok

1073741824 bytes

1g ok

2147483648 bytes

2g ok

3221225472 bytes

3g ok

4294967296 bytes

4g ok

5368709120 bytes

5g ok

6442450944 bytes

6g ok

7516192768 bytes

7g ok

8589934592 bytes

8g ok

9663676416 bytes

9g ok

10737418240 bytes

10g ok

11811160064 bytes

11g ok

12884901888 bytes

12g ok

13958643712 bytes

13g ok

15032385536 bytes

14g ok

16106127360 bytes

15g ok

17179869184 bytes

16g ok

18253611008 bytes

17g ok

19327352832 bytes

18g ok

20401094656 bytes

19g ok

21474836480 bytes

20g ok

22548578304 bytes

21g ok

23622320128 bytes

22g ok

24696061952 bytes

23g ok

25769803776 bytes

24g ok

26843545600 bytes

25g ok

27917287424 bytes

26g ok

28991029248 bytes

27g ok

30064771072 bytes

28g ok

31138512896 bytes

29g ok

32212254720 bytes

30g ok

33285996544 bytes

31g ok

34359738368 bytes

32g ok

35433480192 bytes

33g ok

36507222016 bytes

34g ok

37580963840 bytes

35g ok

38654705664 bytes

36g ok

39728447488 bytes

37g ok

40802189312 bytes

38g ok

41875931136 bytes

39g ok

42949672960 bytes

40g ok

44023414784 bytes

41g ok

45097156608 bytes

42g ok

46170898432 bytes

43g ok

47244640256 bytes

44g ok

48318382080 bytes

45g ok

49392123904 bytes

46g ok

50465865728 bytes

47g ok

51539607552 bytes

48g ok

52613349376 bytes

49g ok

53687091200 bytes

50g ok

54760833024 bytes

51g ok

55834574848 bytes

52g ok

56908316672 bytes

53g ok

57982058496 bytes

54g ok

59055800320 bytes

55g ok

60129542144 bytes

56g ok

61203283968 bytes

57g ok

62277025792 bytes

58g ok

63350767616 bytes

59g ok

64424509440 bytes

60g ok

65498251264 bytes

61g ok

66571993088 bytes

62g ok

67645734912 bytes

63g ok

68719476736 bytes

64g ok

69793218560 bytes

65g ok

70866960384 bytes

66g ok

71940702208 bytes

67g ok

73014444032 bytes

68g ok

74088185856 bytes

69g ok

75161927680 bytes

70g ok

76235669504 bytes

71g ok

77309411328 bytes

72g ok

78383153152 bytes

73g ok

79456894976 bytes

74g ok

80530636800 bytes

75g ok

81604378624 bytes

76g ok

82678120448 bytes

77g ok

83751862272 bytes

78g ok

84825604096 bytes

79g ok

85899345920 bytes

80g ok

86973087744 bytes

81g ok

88046829568 bytes

82g ok

89120571392 bytes

83g ok

90194313216 bytes

84g ok

91268055040 bytes

85g ok

92341796864 bytes

86g ok

93415538688 bytes

87g ok

94489280512 bytes

88g ok

95563022336 bytes

89g ok

96636764160 bytes

90g ok

97710505984 bytes

91g ok

98784247808 bytes

92g ok

99857989632 bytes

93g ok

100931731456 bytes

94g ok

102005473280 bytes

95g ok

103079215104 bytes

96g ok

104152956928 bytes

97g ok

105226698752 bytes

98g ok

106300440576 bytes

99g ok

107374182400 bytes

100g ok

108447924224 bytes

101g ok

109521666048 bytes

102g ok

110595407872 bytes

103g ok

111669149696 bytes

104g ok

112742891520 bytes

105g ok

113816633344 bytes

106g ok

114890375168 bytes

107g ok

115964116992 bytes

108g ok

117037858816 bytes

109g ok

118111600640 bytes

110g ok

119185342464 bytes

111g ok

120259084288 bytes

112g ok

121332826112 bytes

113g ok

122406567936 bytes

114g ok

123480309760 bytes

115g ok

124554051584 bytes

116g ok

125627793408 bytes

Traceback (most recent call last):

File "hog.py", line 25, in

s += x

MemoryError

real 1m10.509s

user 0m16.184s

sys 0m54.320s

存储器错误116GB之后。

[[email protected] ~]$ python --version

Python 2.7.12

[[email protected] ~]$ free -m

total used free shared buffers cached

Mem: 122953 430 122522 0 11 113

-/+ buffers/cache: 304 122648

Swap: 0 0 0

测试在运行64位Linux的亚马逊AMI 2016.09

简短的答案是EC2实例r3.4xlarge:如果你有以上的RAM 100GB,一个Python字符串最多可以使用这么多的内存。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值