1

以下のコードで次のコンパイル エラーが発生しています。エラーが発生している場所は、変数名がデコードされているコードです。HTML コードで変数名をデコードする方法を教えてください。

 File "test.py", line 33
    """)(% hostname,change,pwd,changeref,changeref)
         ^
SyntaxError: invalid syntax

以下はコードです: -

from email.mime.text import MIMEText
from subprocess import Popen, PIPE
import socket
import os

def email (body,subject):
    msg = MIMEText("%s" % body)
    msg["Content-Type"] = "text/html"
    msg["From"] = "test@company.com"
    msg["To"] = "test@company.com"
    msg["Subject"] = '%s' % subject
    p = Popen(["/usr/sbin/sendmail", "-t"], stdin=PIPE)
    p.communicate(msg.as_string())
def main ():
    change="2009"
    pwd=os.getcwd()
    changeref="refs/changes/59/206059/2"
    subject=change + "Test subject"
    hostname=socket.gethostname()
    body = ("""\
        <html>
         <head></head>
         <body>
          <p>%s<br>
            change - https://company/#/c/%s \n.<br>
            change Directory - %s for details \n.<br>
            Instructions: cd to the change Directory on hostname and execute the following commands \n.<br>
            git checkout %s<br>
            git fetch ssh://username@company:29418/platform/vendor/company-proprietary/code %s && git cherry-pick FETCH_HEAD".
         </p>
         </body>
        </html>
""")(% hostname,change,pwd,changeref,changeref)
    email(body,subject)

if __name__ == '__main__':
    main()
4

2 に答える 2

4

あなたが欲しいのは

"""
your HTML stuff here
""" % (hostname, change, pwd, changeref, changeref)

% 記号はタプルの外側にあることに注意してください。

于 2013-01-01T20:02:35.093 に答える
0

パーセンテージ記号を括弧の外に出します:

         </body>
        </html>
""") % (hostname,change,pwd,changeref,changeref) 
于 2013-01-01T20:05:58.220 に答える