我對枚舉函數中的start參數有輕微的困惑,因爲我最近開始使用python,我不知道它應該如何工作。 假設我有下面的示例文件:在枚舉Python中指定開始參數時返回的行號不正確
Test 1
Test 2
Test 3
這是第一線[SB WOM]|[INTERNAL REQUEST]|[START]
這是消息
Name : Vaibhav
Designation : Technical Lead
ID : 123456
Company : Nokia
的開始這是第六行[SB WOM]|[INTERNAL REQUEST]|[END]
其消息的末尾
現在,當我運行下面的代碼:
path =("C:/Users/vgupt021/Desktop")
in_file = os.path.join(path,"KSClogs_Test.txt")
fd = open(in_file,'r')
for linenum,line in enumerate(fd) :
if "[SB WOM]|[INTERNAL REQUEST]|[START]" in line:
x1 = linenum
print x1
break
for linenum,line in enumerate(fd,x1):
if "[SB WOM]|[INTERNAL REQUEST]|[END]" in line:
print linenum
break
我得到的亞麻籽返回爲3和7,我不清楚它爲什麼不返回爲3,8。因爲"[SB WOM]|[INTERNAL REQUEST]|[END]"
行的索引號是8而不是7,所以起始參數如何在第二部分循環。
非常感謝摩西的快速回復。您還可以幫助我解決上述情況,假設它是一個非常大的文件,它具有上述提到的行,如果我將輸入作爲「ID = 123456」輸入,我應該打印所有從「開始」到「結束」的行。 –
我認爲如果您將此作爲新問題發佈,則會更好。 –