2017-07-13 84 views
1

使用python,我試圖採用.txt格式的電子郵件列表,並刪除特定關鍵字「原始消息」後的任何內容,以刪除我發送的部分。所有電子郵件當前都通過Outlook中的VBScript保存到目錄中。每封電子郵件都是它自己的.txt文件,我希望通過它們在一個文件中循環。Python:遍歷目錄中的每個文件

如果有一種方法可以替代兩個關鍵字之間的所有文本,也可以工作,因爲我有一個將電子郵件合併成一個長的.txt文件的程序。

我道歉,如果我漏掉什麼重要的信息,這是我在這裏的第一次發佈

+0

查找到os.walk – mauve

+0

可能重複[如何遍歷目錄中的文件?](https://stackoverflow.com/questions/4918458/how-to-traverse-through-the-files-in-a-directory) –

+0

如果可以做VBA你可以做Python。不應超過20行。你能行的 ! –

回答

0

您可以使用os.listdir()遍歷目錄中的文件:

import os 

files = [i for i in os.listdir("Path/to/directory/storing/emails") if i.endswith("txt")] 

for file in files: 
    f = open(file).readlines() 
    f = [i.strip('\n') for i in f] 

    final_email = f[:f.index("Original message")] #this list slicing will remove the part containing "Original message" and below it 

    final_message = '\n'.join(final_email) 

    f = open(file, 'w') 

    f.write(final_message) 

    f.close() 
+0

您在列表理解中忘記了結尾括號(__] __)。 – CristiFati

+0

@CristiFati謝謝你指出。現在已經修復了。 – Ajax1234