列表生成器/读入文件的理解

2024-05-17 02:54:02 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我首先用变量self.memory = [None] * 10000创建一个类。 现在我有一个这样的文件结构:

1 1231
2 1231
3 asdma
4 landsl

我想做一个生成器语句,它将读取文件的每一行并将其放入自我记忆指定索引处的变量(左边的数字)。 这样的说法可能吗?你知道吗

编辑:添加我当前使用的内容:

def AbsoluteLoader(self, f):                                                                                          
     with open(f, 'r') as assembly:                                                                                    
        for line in assembly:                                                                                         
          c = line.split()                                                                                          
          if int(c[0]) == -1:                                                                                       
            self.pc = long(c[1])                                                                                  
            break                                                                                                 
          try:                                                                                                      
            self.memory[int(c[0])] = long(c[1])                                                                   
          except:                                                                                                   
            print 'invalid'  

Tags: 文件记忆selfnone编辑lineassembly数字
1条回答
网友
1楼 · 发布于 2024-05-17 02:54:02
class MyClass:
    def __init__(self, fname, lines=10000):
        self.pc = None
        self.memory = mem = [0L] * lines

        with open(fname) as inf:
            for line in inf:
                ndx, num = line.split()
                ndx = int(ndx)
                num = long(num)
                try:
                    mem[ndx] = num
                except IndexError:
                    if ndx == -1:
                        self.pc = num
                        break
                    else:
                        raise ValueError('invalid entry: {}'.format(line.rstrip('\r\n')))

相关问题 更多 >