提问人:k9wan 提问时间:10/3/2023 最后编辑:k9wan 更新时间:10/3/2023 访问量:59
python pprint 打印大数据有什么限制吗?
Is there any limitation for python pprint printing large data?
问:
对不起,如果我的英语不好,我的母语是韩语。
我试图将一个大列表(其大小类似于)预打印到文本文件中。len(repr(lst)) == 64xxx
但是当我尝试类似的东西时
from pprint import pprint as p
f = open(fname, mode='a+')
p(a_lst, f)
它只打印了大约80%的列表,其余的20%被剪掉了。 我还尝试将列表减半并调用 pprint 两次,但这也不起作用。
所以我不得不这样做
print(a_list, file=f)
这奏效了。但是为什么 Pprint 没有打印所有列表呢?是否有一些大小限制? 或者我的RAM等不够用?
编辑:我再次尝试使用pprint,它起作用了,无法重现相同的结果(剪切结果)。也许我认为这是暂时的错误,但我无法找出错误的原因。
答:
0赞
Daviid
10/3/2023
#1
我刚刚试过
import random
# Define the dimensions of the 2D list
first_level = 95
second_level = 24
lst = []
for _ in range(first_level):
second_level_list = []
for _ in range(second_level):
# Generate a random binary string of length num_cols
random_string = ''.join(random.choice('01') for _ in range(24))
# Append the random string as a list to lst
second_level_list.append([random_string])
lst.append(second_level_list)
from pprint import pprint as p
f = open("output.txt", mode='a+')
p(lst, f)
并且没有出现任何错误。
即使没有执行,整个数组也在输出文件中f.close()
评论
json.dump()
f.write()
pprint.pprint(list(range(1_000_000)), f)
len(lst)
len(lst[0])
lst[0][0]
'000000000111000000000000'