0

我对 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

对不起新手问题。
谢谢

4

4 回答 4

1

问题不清楚。要么你想捕获标准输出,要么你想打印然后追加或只是追加。我会回答所有三个。

如果您有一个打印的函数,但您不希望它打印,而是将其打印输出放入列表中,那么您要做的就是捕获stdout流。请参阅此问题以了解如何操作。

如果你想打印然后追加,那么你可以做这样的事情

for sourcefile in sortedsourcefiles:
    MsgBody += sourceFile
    print "Checking %s" % MsgBody

如果您只想附加它,那么这就足够了。

for sourcefile in sortedsourcefiles:
    MsgBody += sourceFile

希望这有帮助。如果您有任何疑问,请询问。

于 2013-07-18T19:20:40.680 回答
0

你会想要这样做:

for sourcefile in sortedsourcefiles:
    MsgBody += sourceFile
    print "Checking %s" % MsgBody

您之前的代码将其转换为字符串,然后尝试添加到它。

于 2013-07-18T19:11:33.613 回答
0

我真的不确定您要在这里做什么。如果你想保留一个变量,你为什么要使用print

如果您只想连接 中的行MsgBody,您应该这样做:

for sourceFile in sortedSourceFiles:
    MsgBody += "Checking '%s' \n" % sourceFile 

甚至更好:

MsgBody = '\n'.join("Checking '%s'" % sourceFile for sourceFile in sortedSourceFiles)
于 2013-07-18T19:12:01.260 回答
0
for sourceFile in sortedSourceFiles:
  MsgBody += sourceFile
于 2013-07-18T19:12:41.603 回答