我正在逐行读取文件(32行是二进制文件),然后存储在名为regFile[i]
的变量中。现在我必须为变量R0
中的每一行regFile[i]= 000000001000000000000
指定一个名称如何分配给regFile[i]
中的每一行?这是我的一段代码。
def regread(filename):
file = open (filename, 'r')
regline = file.readlines()
reg= regline
reg= map(lambda s: s.strip(), reg)
for i in range(0,32):
regFile[i] = int(reg[i])
'R'i = regFile[i]
print 'R' ,i
file.close()
答案 0 :(得分:4)
我不明白你为什么要命名一个变量 - 只是将索引编入regFile
...以下是写你所拥有的pythonic方式(使用islice
来确保最多读取32行,int(line, 2)
从二进制转换为整数... ...
from itertools import islice
with open('somefile') as fin:
reg_file = [int(line, 2) for line in islice(fin, 32)]
print reg_file[0], reg_file[31]
正如@mgilson指出的那样 - 如果你真的想要你可以将它们放在dict
中:
reg_file = {'R{}'.format(idx):int(line, 2) for idx, line in enumerate(islice(fin, 32))}