如何将文本文件中的文本从特定点拆分到另一个特定点?

时间:2016-02-09 04:48:00

标签: python string text-files urllib

我正在寻找的是从文本文件中获取特定的块或段。如何向Python指明从哪里开始并完成阅读或打印? 我找到了这个示例代码,但我找不到这种特殊技术的解释。我知道如何使用方法“.split()”与字符串,但还有其他参数,我不明白。

a = open("text_1.txt", "r")

text = a.read()

print (text.split("<--")[1].split("-->")[1])

# Here this code splits the text on the text file, starting from
# the value inside of the second ".split()" and ends in the value
# inside the first. What I don't understand what means the one in brackets `[1].`

a.close()

正如您可能已经注意到的那样,在这种情况下,我要打印的文字介于“ - &gt; .....和.....&lt; - ”符号之间。

另外,如果没有用于分隔文本的符号怎么办?如果我想在不丢失第一个和最后一个字的情况下隔离整个段落怎么办?如果在“.split()”方法中指定了多个单词或符号,该怎么办?

有没有办法指示Python我想根据其行号选择行(在使用urllib导入网页的情况下)?

提前致谢

2 个答案:

答案 0 :(得分:1)

当python读取文件时,它会将其转换为列表。 Split是一种字符串方法。执行此操作的一种方法是将其转换为字符串,然后将其拆分为您尝试执行的操作并将其写入文件。检查dir(list)和dir(str)的方法。

答案 1 :(得分:0)

要回答您的几个问题之一,[1]将第1项(从零开始)从“主要”拉到左侧。在Python中,它被称为subscript

在您的情况下,text.split(...)会返回一个令牌列表,后续[1]只会选择其中一个令牌。以下是发生的事情:

>>> 'foo bar baz'.split()
['foo', 'bar', 'baz']

>>> 'foo bar baz'.split()[1]
'bar'

如果您之前没有遇到过这种语法,那么在继续解决问题之前,您可能需要先完成Python教程。