一个文件大小1TB,就一行怎么处理?
都是int类型数据,空格分割,但只有一行
2条回答 默认 最新
vigiles 2021-07-21 21:16关注既然很大很长...,肯定用不了readline或readlines。只能read,一点一点的...
# 问题:https://ask.csdn.net/questions/7477915 # 从非常长非常长的一行全是数字的字符串里拿到最大的数字。数字直接用空格分隔 # 理想状态:这一行字符串除了数字、空格、结尾的换行(也可不换行),没有别的了 # 需求:取最大的数字 # 示例:【1 324 4 009 】,得到324 big_line_file = "/Users/abc/workspace/HelloPython/ask_and_answer/a.txt" max_num = 0 with open(big_line_file, "r") as f: tmp = [] while True: a = f.read(1) # 每次读1个字符。如果字符串中的 数字 和 空格 是相同的固定位数的,这里可以改成位数 if a.isspace(): # 空格,制表,换行,都返回true if len(tmp) > 0: num_str = "".join(tmp) num = int(num_str) tmp = [] if num > max_num: max_num = num else: tmp.append(a) if (not a) or "\n" == a or "\r" == a or "\r\n" == a: break # 读完了 print(max_num)本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报