使用python,我試圖採用.txt格式的電子郵件列表,並刪除特定關鍵字「原始消息」後的任何內容,以刪除我發送的部分。所有電子郵件當前都通過Outlook中的VBScript保存到目錄中。每封電子郵件都是它自己的.txt文件,我希望通過它們在一個文件中循環。Python:遍歷目錄中的每個文件
如果有一種方法可以替代兩個關鍵字之間的所有文本,也可以工作,因爲我有一個將電子郵件合併成一個長的.txt文件的程序。
我道歉,如果我漏掉什麼重要的信息,這是我在這裏的第一次發佈
使用python,我試圖採用.txt格式的電子郵件列表,並刪除特定關鍵字「原始消息」後的任何內容,以刪除我發送的部分。所有電子郵件當前都通過Outlook中的VBScript保存到目錄中。每封電子郵件都是它自己的.txt文件,我希望通過它們在一個文件中循環。Python:遍歷目錄中的每個文件
如果有一種方法可以替代兩個關鍵字之間的所有文本,也可以工作,因爲我有一個將電子郵件合併成一個長的.txt文件的程序。
我道歉,如果我漏掉什麼重要的信息,這是我在這裏的第一次發佈
您可以使用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()
您在列表理解中忘記了結尾括號(__] __)。 – CristiFati
@CristiFati謝謝你指出。現在已經修復了。 – Ajax1234
查找到os.walk – mauve
可能重複[如何遍歷目錄中的文件?](https://stackoverflow.com/questions/4918458/how-to-traverse-through-the-files-in-a-directory) –
如果可以做VBA你可以做Python。不應超過20行。你能行的 ! –