Python 检索拆分文本中的下一行

Python 检索拆分文本中的下一行,python,text,Python,Text,我试过line2=next(iter(line)) 但它并没有产生我想要的结果。由于我已经将文本语料库拆分成了新行,我希望像next(iter(line))这样的东西能够起作用。所以我想要的是得到它循环的代码行,但也要在“行”之后得到一行 使用索引访问列表 for root, dirs, files in os.walk(path): for file in files: print(os.path.join(d, file)) for i in

我试过
line2=next(iter(line))


但它并没有产生我想要的结果。由于我已经将文本语料库拆分成了新行,我希望像next(iter(line))这样的东西能够起作用。所以我想要的是得到它循环的代码行,但也要在“行”之后得到一行

使用索引访问列表

for root, dirs, files in os.walk(path):
    for file in files:    
        print(os.path.join(d, file))

        for i in xrange(0, len(files)):
            for files[i] in files:
                corpus = open(os.path.join(d, files[i]), 'rb')
                corpus = corpus.read()
#                corpus = [line.lstrip() for line in corpus.split("\n")]
                lne = []
#                print(lne)

                for line in corpus.split("\n"):

                    line = re.sub(' +', ' ', line)
                    line = line.upper()

                    lne.append(line.lstrip())
这里的
i
是介于
0
行数-2
之间的值。因此,在循环中,您可以访问:

for root, dirs, files in os.walk(path):
    for file in files:    
        print(os.path.join(d, file))

        for i in xrange(0, len(files)):
            for files[i] in files:
                corpus = open(os.path.join(d, files[i]), 'rb')
                corpus = corpus.read()
                lne = []
                lines = corpus.split("\n")

                for i in xrange(0, len(lines) - 1):
                    line = re.sub(' +', ' ', lines[i])
                    line = line.upper()
                    lne.append(line.lstrip())
                    line2 = lines[i+1]

我从两个文件开始:

1.text

line  = lines[i]
line2 = lines[i + 1]
this + that
then now
两个。文本

line  = lines[i]
line2 = lines[i + 1]
this + that
then now
。。。在文件夹
“C:\scratch\sample\two.txt”

我想提到的主要问题是,Python中提供了一种相对较新的处理文件和文件夹内容的方法,即模块
pathlib
,该模块在第11章中有介绍。它通常使生活更容易

science poetry
pigs + cows
我理解你的意思是,你想用一个空格替换出现的“+”,并把整行变成大写

我还想提到:(a)最好避免使用像
file
这样的名称,这些名称在Python语言中可能是(也可能不是)特殊的词,因为使用它们会使调试变得困难,(b)当你打开一个文件时,最好将
一起使用,因为当你将
的作用域与
一起离开时,系统会安排关闭该文件,并且(c)我发现使用
pathlib
的一个讨厌之处是必须使用类似
str
的东西来产生结果(在这种情况下,
文件名
)将其转换为
open
可以使用的文件名


我希望这是有用的信息。

您需要在列表中保留一个参考,但您没有这样做。您甚至不应该创建列表,您应该使用上下文管理器获取对文件处理程序的引用,然后直接迭代文件对象谢谢您的建议,我将尝试实现它;)令人敬畏的绝地武士,愿原力与你同在:D.对不起,你一定得到了那么多,呵呵