仍然是Python世界的新手,所以第一个问题来自我,希望有人可以提供帮助。 所以这里有一些简单的代码,列出路径中的目录,并希望将输出发送到电子邮件。电子邮件设置工作,因为它将邮件" TEXT"对我来说,但是我一直在努力尝试从打印功能中捕获标准输出。
由于
for root, dirs, files in os.walk(path):
for curDir in dirs:
fulldir = os.path.join(root, curDir)
print '\nThis dir : %s' % (fulldir)
### Email setup
SERVER = "myserver"
PORT = "25"
FROM = "me@me.com"
TO = ["me@me.com"]
SUBJECT = "Some dirs"
TEXT = "The print loop from above please"
# Prepare actual message
message = """\
From: %s
To: %s
Subject: %s
%s
""" % (FROM, ", ".join(TO), SUBJECT, TEXT)
### Send the message
server = smtplib.SMTP(SERVER, PORT)
server.sendmail(FROM, TO, message)
server.quit()
答案 0 :(得分:0)
此代码将使用换行符连接您的目录列表,确保每行都列出一个目录。
import os
path = "C:\\tmp" #my test path
# See http://stackoverflow.com/q/973473/474189 for other alternatives
dirs = [x[0] for x in os.walk(path) ]
# Print if needed
for d in dirs:
print "\nThis dir : %s" % (d)
email_text = "\n".join(dirs)