Python拆分成新行ch

2024-04-25 03:48:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个html文件,我正在检索文本的主体

我想打印一行

现在我是印刷品

for line in newName.body(text=True):
    print line

这给了我身体里的一切 我想打印成

for line in newName.body(text=True):
    print line[257:_____] # this is where i need help

与其选择另一个数字来结束,我希望它转到换行符 所以看起来

for line in newName.body(text=True):
    print line[257:'\n'] 

但是那剂量有效 我怎样才能做到?

我正在处理的文本位于 身体 之前 我想要的文字 /前 /身体


Tags: 文件textin文本trueforhtmlline
3条回答

是不是你想要line[127:line.find('\n')]因为你确定它来自127然后同样你必须确定有一个\n

不能保证HTML文件有多行。网页可以按行排列,但页面的结构不必与标记的结构匹配,反之亦然。

为了确定,试试这个:

print len(newName.body(text=True).split('\n'))

如果该值为>;1,则您应该能够获得所需的行,如:

newName.body(text=True).split('\n')[257]

也许不是最优雅的方式,但如果实际上有多条线的话,它是可行的。

您可以使用^{} method获取第一行:

first_line = newName.body.getText().partition("\n")[0]

假设newName是一个BeautifulSoup对象。它通常被命名为soup

要从html中的第一个<pre>标记获取文本:

text = soup.pre.string

要获取文本中的行列表,请执行以下操作:

list_of_lines = text.splitlines()

如果要在文本中保留行尾标记:

list_of_lines = text.splitlines(True)

要从列表中获取第i行:

ith_line = list_of_lines[i]

注:基于零的索引,例如i = 2对应于第三行。

相关问题 更多 >