在python中将htm文件拆分为单独的行

在python中将htm文件拆分为单独的行,python,file,input,split,Python,File,Input,Split,因此,我有一个.htm文件,我需要将其拆分为不同的行并存储在列表中。 所以我用的代码如下 html = open('filename.htm').read().splitlines() 但是,当我执行以下操作时,整个文件一次打印出来,而不是一行一行地打印出来,因此文件的输入似乎没有被分割成不同的行 for line in html: print(line) 此外,当我尝试将文件内容复制粘贴到程序中时,效果很好 html = raw_input() html = html.splitl

因此,我有一个.htm文件,我需要将其拆分为不同的行并存储在列表中。 所以我用的代码如下

html = open('filename.htm').read().splitlines()
但是,当我执行以下操作时,整个文件一次打印出来,而不是一行一行地打印出来,因此文件的输入似乎没有被分割成不同的行

for line in html:
    print(line)
此外,当我尝试将文件内容复制粘贴到程序中时,效果很好

html = raw_input()
html = html.splitlines()
有谁能告诉我如何将文件中的输入拆分成不同的行吗?谢谢。

因为html中的for line:printline意味着打印所有行,所以它显然会打印整个文件,一次打印一行

所以,除非您将文件合并到一行文本上,否则它将正常工作。您可以添加一些文本输出以确定它:

html = open('try.htm').read().splitlines()
for line in html:
    print("Line:")
    print(line)
    print()
因为在html中for line:printline意味着打印所有的行,所以它显然会打印整个文件,一次打印一行

所以,除非您将文件合并到一行文本上,否则它将正常工作。您可以添加一些文本输出以确定它:

html = open('try.htm').read().splitlines()
for line in html:
    print("Line:")
    print(line)
    print()
你不想在第一次通话中看到阅读部分。试试这个:

htmllines = open('filename.htm').readlines()
for line in html:
    print line
如果您的HTML文件确实位于多行,而不是Dek建议的一行,那么请确保您的文件具有正确的编码-您可能需要按照以下方式解码:

htmllines = open('filename.htm').read().decode("Some Encoding").splitlines()
for line in html:
    print line
你不想在第一次通话中看到阅读部分。试试这个:

htmllines = open('filename.htm').readlines()
for line in html:
    print line
如果您的HTML文件确实位于多行,而不是Dek建议的一行,那么请确保您的文件具有正确的编码-您可能需要按照以下方式解码:

htmllines = open('filename.htm').read().decode("Some Encoding").splitlines()
for line in html:
    print line
那file.readlines[sizehint]呢

file.readlines[sizehint]呢

您需要读线,而不是拆分线。您的代码如下所示

all_lines = open('sample.html').readlines()

for line in all_lines:
    print(line)
要存储为列表,可以执行以下操作

lst = list(open('sample.html').readlines())
您需要读线,而不是拆分线。您的代码如下所示

all_lines = open('sample.html').readlines()

for line in all_lines:
    print(line)
要存储为列表,可以执行以下操作

lst = list(open('sample.html').readlines())

对不起,也许我不太清楚。程序打印所有行。但它一次打印出来,而不是一行一行地打印,这正是我想要的。你能把你的输入文件上传到什么地方吗?也许这就是问题所在。或者我误解了你所说的一行一行的意思。我不知道该上传到哪里…但它来自这个链接的页面来源:是的,这就是我想要的。你能把你的代码粘贴到这里吗?好吧…奇怪的是,我仍然得到我的原始输出…你的代码没有变化。“Line:”被打印出来,然后一次打印出整个源文件,最后打印出来。我能知道你用的是什么版本的python吗?对不起,也许我不太清楚。程序打印所有行。但它一次打印出来,而不是一行一行地打印,这正是我想要的。你能把你的输入文件上传到什么地方吗?也许这就是问题所在。或者我误解了你所说的一行一行的意思。我不知道该上传到哪里…但它来自这个链接的页面来源:是的,这就是我想要的。你能把你的代码粘贴到这里吗?好吧…奇怪的是,我仍然得到我的原始输出…你的代码没有变化。“Line:”被打印出来,然后一次打印出整个源文件,最后打印出来。我可以知道你用的是什么版本的python吗?所以我尝试了readlines,但都是一样的…所有的东西都是一次打印出来的,这表明文件输入没有被分割成不同的行…顺便说一句,你认为我应该尝试什么编码?最有可能检查的编码是“Windows-1252”或“Latin-1”,但老实说,我不确定这是否真的是问题所在。尝试进入Python调试器并运行:>>f=open'filename.htm',然后尝试不同的.decode'encoding'调用,以查看是否获得更好的输出。因此我尝试了readlines,但它是一样的…所有内容仍然一次打印出来,这表明文件输入没有被拆分为不同的行…顺便说一句,你认为我应该尝试什么编码?最有可能检查的编码是“Windows-1252”或“Latin-1”,但老实说,我不确定这是否真的是问题所在。尝试进入Python调试器并运行:>>f=open'filename.htm',然后尝试不同的.decode'encoding'调用,以查看是否获得更好的输出。