0

私はPythonをまったく使用したことがなく、.emlファイルの本文、件名、および電子メールアドレスを印刷(または返す)するための簡単なPythonコード(以下)を作成しました。これは正常に機能します。ただし、このコードを.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
4

2 に答える 2

2

見てくださいos.walk、それはあなたが望むことをします。

于 2013-01-31T15:35:46.667 に答える
1

を使用してすべてをforループに入れますos.listdir

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))
于 2013-01-31T15:37:59.170 に答える