首页 > 解决方案 > 将字符串转换为python中列表的整数时,base 10错误的无效文字

问题描述

from statistics import mean


fo = open("numbers.txt","r") 

item = fo.readlines()

res = list(map(int, item))

print(res)

我的 numbers.txt 文件:

45 66 88
100 22 98

由于某种原因,我无法将此列表从字符串列表转换为整数。我需要将其设为整数,因为我需要获取文件中所有整数的平均值;我将使用 python 中的 mean 模块。我究竟做错了什么?我的代码看起来很干净。

标签: python

解决方案


试试这个:

with open( "numbers.txt", "r") as fin :
    items = fin.read().split()

res = list(map(int, items))

print(res)

两个重点:

  1. 不要使用独立的open()——你很可能会忘记close()
  2. 如果您想将文件视为一个整体,那么阅读单独的行是没有意义的

推荐阅读