簡體   English   中英

Python中HTML代碼的語法錯誤

[英]Syntax error with HTML code in python

我正在嘗試在python中構建HTML表並遇到以下語法錯誤,有人可以在這里指出問題是什么嗎?

for i in range(len(PLlis)):
    print "i"
    print i
    outstring += "<tr>\n"
    outstring += "<td><a href="wikilinklis[i]">PLlist[0]</a></td>\n"
    outstring += "<td>build_locationlis[i]</td>\n"
    outstring += "<td>lis[i]</td>\n"
    outstring += "<td>Host_loc</td>\n"
    outstring += "<td>Baselis[i]</td>\n"
    outstring += "</tr>\n"
outstring += "</table>\n"
return outstring

語法錯誤:-

   outstring += "<td><a href="wikilinklis[i]">PLlist[0]</a></td>\n"
                                     ^

SyntaxError:語法無效

連接字符串:

outstring += "<td><a href=" + wikilinklis[i] + ">PLlist[0]</a></td>\n"

如果wikilinks是一個python字符串數組。 否則,您必須轉義引號(如果您嘗試將“ wikilinks [i]”寫為字符串)。

您必須像這樣重建字符串,因為wikilinklis [i]每次迭代都會更改。

outstring += "<td><a href=%s>%s</a></td>\n" % (wikilinklis[i], PLlist[0])

Python沒有內置的字符串插值。 但是,您可以使用"formatstring".format(...)輕松獲得所需的內容

for i in range(len(PLlis)):
    print "i"
    print i
    outstring += """
    <tr>
        <td><a href="{wikilink}">{PLlist[0]}</a></td>
        <td>{build_location}</td>
        <td>{value}</td>
        <td>Host_loc</td>
        <td>{base}</td>
    </tr>""".format(
        wikilink=wikilinklis[i],
        build_location=build_locationlis[i],
        value=lis[i],
        base=Baselis[i]
    )

outstring += "</table>\n"
return outstring

三重引號除了讓我將字符串跨越多行外沒有其他意義。

不要做你在做什么。 您不想將一串字符串連接在一起,而是希望將值替換為模板。

最簡單的方法是使用字符串和%運算符:

"""
<tr>
<td><a href="%(wikilinklis)s">%(PLlist)s</a></td>
<td>%(build_locationlis)s</td>
</tr>
""" % {'wikilinks': 'http://foo', 'PLlist': 'A link' }

注意三引號,它允許您嵌入換行符和引號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM