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 回答