我觉得这很简单,但是我对python的了解还不足以正确地完成它。在
我有两个文件:
所以我要做的是通过id used对解析文件,然后根据这些信息,在第二个文件中找到相应的规则,然后根据该规则对规则进行注释或取消注释。在
有没有一种简单的方法可以在第二个文件中搜索我要查找的规则,而不是每次都逐行搜索?另外,每次更改文件时都必须重新写入文件吗。在
以下是到目前为止我还不知道实现modifyRulesFile()的最佳方法:
def editRulesFile(pairFile, ruleFile):
pairFd = open(pairFile, 'r')
ruleFd = open(ruleFile, 'rw')
for line in pairFd.readLine():
id,isUsed = line.split(',')
modifyRulesFile(ruleFd, id, isUsed)
def modifyRulesFile(fd, id, isUsed):
for line in fd.readLine():
# Find line with id in it and add a comment or remove comment based on isUsed
我不知道为什么我以前没有想到这个,但是有另一种方法。在
首先,你把哪些规则应该使用(或不使用)到内存中,我把它存储到字典中。在
然后,在读取另一个文件中的当前规则列表时,将更改写入临时文件。在
^{pr2}$现在我们可以复制新的临时文件,如果我们想的话。在
我建议您将规则文件读入词典(id->;rule)。然后,当您读取配置文件时,写出相应的规则(如果需要,包括注释)。在
一些伪代码:
这样,每个文件只传递一次。如果规则文件变得很长,可能会耗尽内存,但是,好吧,这通常需要很长时间才能发生!在
可以使用生成器避免一次将所有对保留在内存中:
^{pr2}$相关问题 更多 >
编程相关推荐