簡體   English   中英

適用於多個文件或文件夾的Python代碼

[英]Python code applying to multiple files or folder

我是Python的新手,我創建了一些簡單的Python代碼(如下)以打印(或返回).eml文件的正文,主題和電子郵件地址。 這很好。 但是,如何將此代碼應用於.eml文件文件夾?

import email

fp = open('C:\emlfiles\TEST_00000.eml')

msg = email.message_from_file(fp)

subject = msg.get('subject')
subject = str(subject)
fromAdd = msg.get('from')
fromAdd = str(fromAdd)
payload = msg.get_payload()
if type(payload) == type(list()) :
    payload = payload[0] 
if type(payload) != type('') :
    payload = str(payload)

print subhec + fromAdd + payload

看一下os.walk ,它os.walk您的需求。

使用os.listdir將所有內容放入for循環中:

import email

infolder = "C:\\emlfiles\\"
for infile in os.listdir(infolder):
    fp = open(os.path.join(infolder, infile))
    msg = email.message_from_file(fp)
    # etc

也許最好將代碼包裝在一個函數中,然后調用它:

def process_email(infile):
    fp = open(infile)
    msg = email.message_from_file(fp)
    subject = msg.get('subject')

infolder = "C:\\emlfiles\\"
for infile in os.listdir(infolder):
    process_email(os.path.join(infolder, infile))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM