簡體   English   中英

在python中打印帶下划線的文本

[英]print text with underline in python

我已嘗試使用以下代碼在 html 文件中查找帶下划線的文本,但它不起作用。

f=open("jk.html","r")
while True:
    for line in f.read():
        for i in line.split():
            j=i.find("<ul>")
            k=i.find("</ul>")
            for m in range(j, k):
                print(m)

f.close()

這是我的 HTML 文件:

<html>
<body>
   <ul> hill </ul>
   <p> millfhhf </p>
</body>
</html>

如果您使用BeautifulSoup模塊,這將變得非常簡單,它在解析 HTML 方面會更好(特別是如果它是凌亂的 HTML)。

import bs4

f = open("test.html")
soup = bs4.BeautifulSoup(f)

for underlined in soup.find_all('u'):
    print underlined.get_text()

此外,HTML 中帶下划線文本的標簽是 <u>

<html>
<body>
   <p>
       <u> hill </u>
       <u> millfhhf </u>
   </p>
</body>
</html>

此代碼不起作用,因為read()返回文件的其余部分,然后您逐個字符地對其進行迭代。 對於行使用readline()或只是迭代文件:

for line in fp:
    # do whatever

也就是說,使用htmlparserBeautifulSoup或 XML 解析器進行任何可靠的解析。

此外,下划線的標簽是<u> ,而不是<ul>

暫無
暫無

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

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