首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何打开html文件?

如何打开html文件?
EN

Stack Overflow用户
提问于 2014-12-02 14:24:02
回答 7查看 202.2K关注 0票数 40

我有一个名为test.html的html文件,它只有一个单词בדיקה

我打开test.html并使用下面这段代码打印它的内容:

代码语言:javascript
复制
file = open("test.html", "r")
print file.read()

但它会打印??????,为什么会发生这种情况,我该如何修复它?

顺便说一句。当我打开文本文件时,它工作正常。

编辑:我试过这个:

代码语言:javascript
复制
>>> import codecs
>>> f = codecs.open("test.html",'r')
>>> print f.read()
?????
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-12-02 14:34:58

代码语言:javascript
复制
import codecs
f=codecs.open("test.html", 'r')
print f.read()

试试这样的东西。

票数 53
EN

Stack Overflow用户

发布于 2018-07-01 07:15:46

我今天也遇到了这个问题。我使用的是Windows,默认的系统语言是中文。因此,某些人可能会遇到类似的Unicode错误。只需添加encoding = 'utf-8'

代码语言:javascript
复制
with open("test.html", "r", encoding='utf-8') as f:
    text= f.read()
票数 15
EN

Stack Overflow用户

发布于 2015-12-03 19:09:10

您可以使用以下代码:

代码语言:javascript
复制
from __future__ import division, unicode_literals 
import codecs
from bs4 import BeautifulSoup

f=codecs.open("test.html", 'r', 'utf-8')
document= BeautifulSoup(f.read()).get_text()
print(document)

如果您想要删除中间的所有空行,并将所有单词作为字符串(也要避免特殊字符、数字),则还应包括:

代码语言:javascript
复制
import nltk
from nltk.tokenize import word_tokenize
docwords=word_tokenize(document)
for line in docwords:
    line = (line.rstrip())
    if line:
        if re.match("^[A-Za-z]*$",line):
            if (line not in stop and len(line)>1):
                st=st+" "+line
print st

*像st=""一样,最初将st定义为string

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27243129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档