Skip to main content
 首页 » 编程设计

Python:读取文件中的整数并将它们添加到列表中

2025年05月04日11zengkefu

我正在尝试创建一个函数,该函数将打开的文件作为参数,读取文件中的整数,这些整数都在自己的行上,然后创建这些整数的列表。当有空行时,函数应该停止读取文件。这就是我所坚持的。

def load_ints(file): 
    lst = [] 
    x = 1 
    while x == 1: 
        for line in file: 
            if len(line.strip()) != 0: 
                load = line.split() 
                load = [int(i) for i in load] 
                lst = lst + load 
            else: 
                x = 2 
        x = 2 
    return lst 

我正在测试的文件如下所示:

  1 
  0 
  -12 
  53 
  1078 
 
  Should not be read by load_ints! 
len(line.strip()) != 0:   

不工作, 它目前给了我一个 ValueError: invalid literal for int() with base 10: 'Should'

请您参考如下方法:

您需要在 x = 2 之后放置一个 break

        else: 
            x = 2 
            break 

否则,for 循环将继续遍历文件。它读取了空白行,执行了else 条件,然后进行了处理行。因此它尝试处理“应该...”行,但失败了,因为“应该...”不是整数。

此外,我不明白您为什么要使用 while 语句。 for 循环应该足以遍历文件并处理每一行,而我建议的 break 将在您点击空白行时退出循环。