在这段代码中,如果我匹配线上的给定模式,我用自建的字符串替换该行。这实际上是好的做法吗?它看起来有点像重复输出变量行,它实际上包含当前读取行的内容。
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()
答案 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()
这样,每个变量名称都会一直描述其内容。