2012-11-24 31 views
1

我有一个文本文件:Python读物在一个文件中的每个字符串

1 0 1 0 1 0 

1 0 1 0 1 0 

1 0 1 0 1 0 

1 0 1 0 1 0 

我希望能够检索每个字符串,并将其转换为整数数据类型,但我在​​

一段代码结果
tile_map = open('background_tiles.txt','r'); 

    for line in tile_map: 

     for string in line: 

      self.type = int(string); 

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

+1

相关:[将文件字符串读入数组(以pythonic方式)](http://stackoverflow.com/a/11052673/4279) – jfs

回答

4

一件事时,通过文件迭代是换行字符包括,当你试图施放,使用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是上下文管理器,它通常是处理文件,因为它处理诸如关闭你时自动离开块的东西更有效的方式。 readlines会将文件读入列表中(每行代表列表元素),并且split()在空间上分裂。

2

您的行包含字符串 - "1 0 1 0 1 0"。您需要在空间分割你行 - 记

for string in line.split(): 
    self.type = int(string); 
+0

非常感谢。最后决定 – starhacker

+0

@ Unit978 ..不客气:)你可以在10分钟后接受答案。 –

相关问题