You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何整数列表写入文件后读取为字符串?如何获取整数列表?

问题:读取文本文件得到字符串列表而非整数列表的原因及解决方法

场景还原

用户将整数列表写入文本文件:

number = [3808640804, 552553035, 815157969, 1623809649, 1851153805, 4058081409, 2438887622, 2833416221, 1727496343, 3172042750]
txt =  f"H:\data_set\\testing\\1K\chunk.txt"
with open(txt, 'w', encoding='utf-8', errors='ignore') as filee:
    for line in number:
        filee.write(f"{line}\n")

读取文件时得到字符串列表:

txt =  f"H:\data_set\\testing\\1K\chunk.txt"
with open(txt, 'r', encoding='utf-8', errors='ignore', buffering=100000) as filee:
    g = filee.readlines()

print(type(g[1]))
print(g[0:10])

输出:

<class 'str'>
['3808640804\n', '552553035\n', '815157969\n', '1623809649\n', '1851153805\n', '4058081409\n', '2438887622\n', '2833416221\n', '1727496343\n', '3172042750\n']

期望得到整数列表:[3808640804, 552553035, 815157969, 1623809649, 1851153805, 4058081409, 2438887622, 2833416221, 1727496343, 3172042750]


为什么读取结果是字符串?

文本文件本质是字符序列的集合,没有数据类型的概念。你写入文件时,是把每个整数转换成字符串(f"{line}")再加上换行符保存的,文件里存储的就是纯文本字符。当Python读取文件时,默认会把这些字符序列解析成字符串,不会自动识别并转换为整数——因为文件里没有记录“这是整数”的元信息。

另外注意:你用f"H:\data_set\\testing\\1K\chunk.txt"定义路径时,\t会被解析成制表符,可能导致路径错误,建议改用原始字符串(r"H:\data_set\testing\1K\chunk.txt")避免转义问题。


如何得到整数列表?

以下是几种简单高效的解决方法:

方法1:列表推导式(推荐)

遍历读取的每一行,先去掉换行符(strip()),再转换为整数。直接遍历文件对象无需一次性读入所有行,更节省内存:

txt = r"H:\data_set\testing\1K\chunk.txt"
with open(txt, 'r', encoding='utf-8', errors='ignore') as filee:
    int_list = [int(line.strip()) for line in filee]
print(int_list)

方法2:使用map函数

结合map和匿名函数处理换行符,再转成列表:

txt = r"H:\data_set\testing\1K\chunk.txt"
with open(txt, 'r', encoding='utf-8', errors='ignore') as filee:
    int_list = list(map(lambda x: int(x.strip()), filee))
print(int_list)

方法3:先读取所有行再处理

如果你已经用readlines()获取了字符串列表,也可以事后转换:

txt = r"H:\data_set\testing\1K\chunk.txt"
with open(txt, 'r', encoding='utf-8', errors='ignore') as filee:
    str_list = filee.readlines()
int_list = [int(line.strip()) for line in str_list]
print(int_list)

内容的提问来源于stack exchange,提问作者ya xi er

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 23:30:50