Skip to main content
 首页 » 编程设计

Python读取文件中的每个字符串

2025年05月04日20jyk

我有一个文本文件:

1 0 1 0 1 0 
 
1 0 1 0 1 0 
 
1 0 1 0 1 0 
 
1 0 1 0 1 0 

我希望能够检索每个字符串并将其转换为整数数据类型,但我的代码片段导致 ValueError: invalid literal for int() with base 10: ''

tile_map = open('background_tiles.txt','r'); 
 
    for line in tile_map: 
 
        for string in line: 
 
             self.type = int(string); 

检索数据并成功转换的正确方法是什么?

请您参考如下方法:

遍历文件时要记住的一件事是包含换行符,当您尝试使用 int() 转换它时,您将收到您引用的错误(因为 Python不知道如何将其转换为整数)。尝试使用类似的东西:

with open('background_tiles.txt', 'r') as f: 
    contents = f.readlines() 
 
for line in contents: 
    for c in line.split(): 
        self.type = int(c) 

with 是一个上下文管理器,它通常是一种更有效的文件处理方式,因为它会处理诸如离开 block 时自动关闭之类的事情。 readlines 会将文件读入一个列表(每一行表示为一个列表元素),并且 split() 在空格处拆分。