我是Python的新手,我使用的是Python-2.7.3,在搜索完空白之后,我想我会问社区。
我试图基本上将每次迭代捕获到变量,因此我可以将该变量用作我的电子邮件的正文。我不想写一个文件然后用它作为我的身体。
我试过这个没有运气:
for sourceFile in sortedSourceFiles:
print "Checking '%s' " % sourceFile += MsgBody
以下是我运行时的结果:
File "check_files_alert.py", line 76
print "Checking '%s' " % sourceFile += MsgBody
^
SyntaxError: invalid syntax
抱歉新手问题。
感谢
答案 0 :(得分:1)
问题不明确。您要么捕获标准输出,要么想要打印然后追加或只是追加。我会回答这三个问题。
如果您有一个打印的功能,但您不希望它打印,而是将其打印输出放入列表中,那么您要做的就是捕获stdout
流。有关如何操作,请参阅this question。
如果你想打印然后追加,那么你可以做这样的事情
for sourcefile in sortedsourcefiles:
MsgBody += sourceFile
print "Checking %s" % MsgBody
如果您只是想附加它,那么这就足够了。
for sourcefile in sortedsourcefiles:
MsgBody += sourceFile
希望这有帮助。如果您有任何疑问,请询问。
答案 1 :(得分:0)
您可能希望这样做:
for sourcefile in sortedsourcefiles:
MsgBody += sourceFile
print "Checking %s" % MsgBody
您之前的代码将其转换为字符串,然后尝试添加到其中。
答案 2 :(得分:0)
我真的不确定你在这里要做什么。如果您想保留变量,为什么要使用print
?
如果你只是想连接MsgBody
中的行,你应该这样做:
for sourceFile in sortedSourceFiles:
MsgBody += "Checking '%s' \n" % sourceFile
甚至更好:
MsgBody = '\n'.join("Checking '%s'" % sourceFile for sourceFile in sortedSourceFiles)
答案 3 :(得分:0)
for sourceFile in sortedSourceFiles:
MsgBody += sourceFile