首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Python3中对文本文件中的每个段落进行具体操作,以反转单个行和单词?

如何在Python3中对文本文件中的每个段落进行具体操作,以反转单个行和单词?
EN

Stack Overflow用户
提问于 2020-01-19 07:56:49
回答 2查看 128关注 0票数 1

基本上,我有一个文本文件:

植物主要为多细胞植物。绿色植物通过光合作用从阳光中获得大部分能量。大约有32万种植物。大约26万到29万,生产种子。绿色植物产生氧气。

今天,绿色植物占据了大量的土地。我们应该保护我们周围的绿色植物。

我想要的输出是:-

氧。生产植物绿色种子。生产一千,260-290种植物。在32万种中,大约有光合作用。通过阳光从能源,他们的大多数获得绿色的多细胞植物。主要是植物

我们。围绕着绿色植物,我们今天应该保护好。土地数量可观,一片占用植物绿。

我使用了split(),然后使用了.join()来组合文件,但是它最终扭转了整个过程,而不是按段落顺序。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-19 08:19:18

open("testp.txt")改为open("[path to your file]")

代码语言:javascript
运行
复制
import re

text = open("testp.txt").read()
rtext = ""

for p in re.split("\n", text):
    for w in reversed(re.split(" ", p)):
        rtext += w + " "
    rtext = rtext[:-1] + "\n"
rtext = rtext[:-1]

print(rtext)

更新:--这个非常简单:

代码语言:javascript
运行
复制
import re

with open("testp.txt") as f:
    print("\n".join(
        " ".join(reversed(re.split(" ", p))) for p in re.split("\n", f.read())
    ))

更新:不使用regex的代码:

代码语言:javascript
运行
复制
with open("testp.txt") as f:
    print("\n".join(
        " ".join(reversed(p.split())) for p in f.read().splitlines()
    ))

注意到可以使用.split("\n")而不是.splitlines()

所有版本的结果是:

输入:

植物主要是多细胞的.绿色植物通过光合作用从阳光中获得大部分能量。大约有32万种植物。大约26万到29万,生产种子。绿色植物产生氧气。

今天,绿色植物占据了大量的土地。我们应该保护我们周围的绿色植物。

输出:

氧气。生产植物绿色种子。生产一千,260-290种植物。在32万种中,大约有光合作用。通过阳光从能源,他们的大多数获得绿色的多细胞植物。主要是植物

我们。围绕着绿色植物,我们今天应该保护好。数量可观的土地占用植物绿色

票数 2
EN

Stack Overflow用户

发布于 2020-01-19 08:23:26

读取文件并使用splitlines()分隔段落。然后重复段落,倒转单词。

代码语言:javascript
运行
复制
with open("input.txt") as f:
    read_data = f.read().splitlines()

    for p in read_data:
        words = p.split()
        print(' '.join(reversed(words)))

要读写文件,可以这样做:

代码语言:javascript
运行
复制
with open("input.txt", 'r') as f:
    read_data = f.read().splitlines()

with open("output.txt", 'w') as fout:
    for p in read_data:
        words = p.split()
        fout.write(' '.join(reversed(words)))
        fout.write('\n')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59808230

复制
相关文章

相似问题

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