2016-07-28 74 views
0

我正在編寫一個解析特定單詞的文本的程序,如果找到這些單詞,我會在它後面打印a行和4行,然後搜索下一個序列,並執行相同的操作。在交互式終端中使用打印時,它可以工作,打印所有匹配關鍵字,但是,當我嘗試將其寫入文本文件時,它將寫入一個序列並將其關閉。任何想法爲什麼或如何在文本文件中顯示終端中顯示的全文而不是僅顯示四行?全文不打印到Python中的文本文件

for j in os.listdir(path): 
if os.path.isfile(os.path.join(path,j)) and 'nameoffile' in j: 

print '\n' 
print j 
print '\n' 
os.chdir(os.path.expanduser("~/Downloads/Windowslogs")) 
file = open(j, 'r') 
codes = 'error ' 
for line_app in appenforce_file: 
    if codes in line_app: 
    #print (line_app + ''.join(islice(appenforce_file, 4))) 
    with open("streamedlog.txt", 'w') as f: 
    f.write(line_app + ''.join(islice(appenforce_file, 4))) 
+0

修復您的縮進。請使用多個空格縮進(首選4個),否則您的代碼很難閱讀。縮進的部分對Python來說顯然是錯誤的。 –

+0

謝謝,我是編程/腳本世界的新手,現在將會改變我的縮進,謝謝! –

回答

0

with open("streamedlog.txt", 'w') as f:

w標誌告訴開放「截斷該文件的內容,並寫入以下內容那裏」。您應該在循環開始之前打開該文件(並避免多次打開該文件),或者應該使用a標誌來附加該文件。

+0

謝謝!我在循環之前移動了開放區域,它現在可以打印所有內容! :) –