这是不好的做法吗?

时间:2011-08-11 11:28:00

标签: python python-2.4

在这段代码中,如果我匹配线上的给定模式,我用自建的字符串替换该行。这实际上是好的做法吗?它看起来有点像重复输出变量行,它实际上包含当前读取行的内容。

for line in lines:
  match = re.search(r'@Table\(name = "(.*)"\)', line)

  if match:
    line = "".join(['@Table (name = "', prefix, match.group(1)[:max_len], '")', '\n'])

  f.write(line)

f.close()

1 个答案:

答案 0 :(得分:3)

我会说代码中的意图是明确的,代码简短而简单,所以它没有任何问题。如果仍然困扰你重复使用变量,你可以这样做:

for line in lines:
    match = re.search(r'@Table\(name = "(.*)"\)', line)

    if match:
        output_line = "".join(['@Table (name = "', prefix, match.group(1)[:max_len], '")', '\n'])
    else:
        output_line = line

    f.write(output_line)

f.close()

这样,每个变量名称都会一直描述其内容。