0

私は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

質問は明確ではありません。標準出力をキャプチャするか、印刷してから追加するか、単に追加するかのいずれかです。3つともお答えします。

印刷する関数があるが、それを印刷したくないが、代わりにその印刷出力をリストに入れる場合、あなたがしたいことはstdoutストリームのキャプチャと呼ばれます。方法については、この質問を参照してください。

印刷してから追加したい場合は、次のようなことができます

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

追加したいだけなら、これで十分です。

for sourcefile in sortedsourcefiles:
    MsgBody += sourceFile

これが役に立ったことを願っています。ご不明な点がございましたら、お問い合わせください。

于 2013-07-18T19:20:40.680 に答える
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 に答える
0

あなたはこれをしたいでしょう:

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

以前のコードは、それを文字列に変換してから、追加しようとしていました。

于 2013-07-18T19:11:33.613 に答える