当前位置:网络安全 > 避免Python代码redux中重复代码

避免Python代码redux中重复代码

  • 发布:2023-10-05 08:36

| 这是上一个问题的后续。我对此有一些好的建议,所以我想我会再次碰碰运气。
来自 itertools import takewhile

如果 K 为无:
    Illuminacond = lambda x: x.split(\',\')[0] != \'[控制]\'
别的:
    Illuminacond = lambda x: x.split(\',\')[0] != \'[Controls]\' 且 i < K

af=打开(\'a\')
bf=open(\'b\', \'w\')
cf=open(\'c\', \'w\')

我=0
如果 K 为无:
    对于 takewhile(Illuminacond, af) 中的行:
        line_split=line.split(\',\')
        pid=line_split[1][0:3]
        out = line_split[1] + \',\' + line_split[2] + \',\' + line_split[3][1] + line_split[3][3] + \',\' \\
                                  + line_split[15] + \',\' + line_split[9] + \',\' + line_split[10]
        如果 pid!=\'cnv\' 且 pid!=\'hCV\' 且 pid!=\'cnv\':
            我=我+1
            bf.write(out.strip(\'\"\')+\'\\n\')
            比照.write(行)
别的:
    对于 takewhile(Illuminacond, af) 中的行:
        line_split=line.split(\',\')
        pid=line_split[1][0:3]out = line_split[1] + \',\' + line_split[2] + \',\' + line_split[3][1] + line_split[3][3] + \',\' \\
                            + line_split[15] + \',\' + line_split[9] + \',\' + line_split[10]
        如果 pid!=\'cnv\' 且 pid!=\'hCV\' 且 pid!=\'cnv\':
            我=我+1
            bf.write(out.strip(\'\"\')+\'\\n\')
可以压缩这段代码吗?如果我在这样的两个循环中有一些共同点, 一个明显的可能性是只提取通用代码,但是在这里,eww。 令人烦恼的是,这里唯一的区别是
c
的书写。 代码摘要:如果
K
不是 None,则循环遍历
a
K
行,并在同时。否则,循环遍历所有
a
并仅写入 write5ѭ。 ​​

相关文章