我正在逐行读取文件(32 行二进制文件),然后存储在名为 regFile[i]
的变量中。现在我必须为变量 regFile[i]= 000000001000000000000
中的每一行 R0
分配一个名称,如何为我的 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()
最佳答案
我不明白为什么你想命名一个变量 - 只需索引到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))}
关于python - 为从文件中读取的行分配名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16216102/