對於我試圖設計的程序,我檢查配置文件中是否存在某些條件。例如,行:ThisExists是在程序中,或者ThisIsFirst存在於該文件中,然後ThisAlsoExists某處以後在文件中。關於如何構造程序的建議
我尋找一種有效的方法,可能在這種情況下使用,但找不到任何。
我目前的想法基本上是每次我想檢查一個條件時多次迭代文件。因此,我將擁有的功能:
高清checkA(文件)
高清checkB(文件)
。 。 。
對我來說,這似乎效率低下,因爲我必須迭代我想檢查的每個條件。
最初我以爲我可以迭代一次,檢查每條線我想要驗證的每個條件。但我不認爲我可以這樣做,因爲可能多行的條件一次需要關於多行的信息。
我是如何描述這樣做的唯一方法,還是有更高效的方法?
我想在下面提供一個例子。
def main():
file = open(filename)
result1 = checkA(file)
result2 = checkB(file)
"""This is a single line check function"""
def checkA(file)
conditionExists = False
for line in file:
if(line == "SomeCondition"):
conditionExists = True
return conditionExists
"""This is a multi line check function"""
def checkB(file)
conditionExists = False
conditionStarted = False
for line in file:
if(line == "Start"):
conditionStarted = True
elif(line == "End" and conditionStarted):
conditionExists = True
return conditionExists
你能否給我們提供一個例子? – karlosss
對不起,現在編輯我的問題,而不是試圖把它放在這裏。 – Handcre
基本上我問的是如果你必須做大量的文件解析,你應該把它分解成多個單獨的函數解析,或者嘗試在一個複雜的函數中完成解析?該函數的複雜性是否值得從多輪解析中節省時間? – Handcre