2

ファイルを 1 行ずつ (バイナリ形式の 32 行) 読み取ってから、 という名前の変数に格納していますregFile[i]。ここで、変数の各行に名前を割り当てる必要があります。どのようR0に変数の各行に割り当てることができますか?? これが私のコードです。regFile[i]= 000000001000000000000regFile[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()
4

1 に答える 1

4

変数に名前を付けたい理由がわかりません-インデックスを付けるだけregFileです... 以下は、あなたが持っているものを書くPython的な方法です(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))}
于 2013-04-25T13:34:45.057 に答える