2014-05-15 82 views
0

我正在嘗試重新學習python,因爲它已經過去5年了,因爲我已經把它弄糟了。在下面的搜索程序中使用繼續是給我一個'繼續'不正確的循環錯誤。有什麼建議麼?需要幫助繼續使用python

# XML search function, 5/15/2014 

import os, re 

def main(): 

    path = 'C:/Python34/test' 
    listing = os.listdir(path) 
    for infile in listing: 
     text = open(path + '/' + infile).read() 
     match = re.search('hi', text) 
    if match is None: 
     continue 
    print ('true') 
    start = match.start() 
    end = re.search('bye', text).start() 
    print (text[start:end]) 
    print ('------------------------------------') 

main() 
+4

您的縮進已關閉;循環中的「continue」是*外部的。 –

+1

您忘記縮進相關的代碼,因此它在循環中。 –

+3

縮進***在Python中很重要。 –

回答

2

如果可能,請避免使用continue,因爲它隱藏了程序的邏輯流。

import os 
import re 

def main(): 
    path = r'C:\Python34\test' 
    listing = os.listdir(path) 
    for infile in listing: 
     with open(os.path.join(path, infile)) as data: 
      text = data.read() 
     match = re.search('(hi.*?)bye', text, re.DOTALL) 
     if match: 
      print('true') 
      print(match.group(1)) 
      print('------------------------------------') 

if __name__ == '__main__': 
    main()  

使用os.path.join來組合路徑。使用with打開文件,以便它們自動關閉。

2
for infile in listing: 
    text = open(path + '/' + infile).read() 
    match = re.search('hi', text) 
    if match is None: 
     continue 

你outdented這部分內容。如上所示縮進最後兩行。