Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何反转Python3中专门处理文本文件中每个段落的单独行和单词?_Python_Python 3.x_Split_Reverse - Fatal编程技术网

如何反转Python3中专门处理文本文件中每个段落的单独行和单词?

如何反转Python3中专门处理文本文件中每个段落的单独行和单词?,python,python-3.x,split,reverse,Python,Python 3.x,Split,Reverse,基本上,我有一个文本文件:- 植物主要是多细胞的。绿色植物获得了大部分的营养 通过光合作用从阳光中获取能量。大约有32万人 植物种类。大约26-29万人生产种子。绿色植物 产生氧气 如今,绿色植物占据了大量的土地。我们应该 保护我们周围的绿色植物 我希望输出为:- 氧气。种植绿色种子。生产千台,260-290台 植物。大约32万种植物中有光合作用。通过 大多数植物利用太阳能获得绿色多细胞。 主要是植物 我们。围绕着绿色植物,我们今天应该保护它。数量之地 一种重要的绿色植物 我使用了split()

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

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

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

我希望输出为:-

氧气。种植绿色种子。生产千台,260-290台 植物。大约32万种植物中有光合作用。通过 大多数植物利用太阳能获得绿色多细胞。 主要是植物

我们。围绕着绿色植物,我们今天应该保护它。数量之地 一种重要的绿色植物

我使用了
split()
,然后使用
.join()
来组合文件,但它最终颠倒了整个过程,而不是段落

打开(“testp.txt”)
更改为
打开(“[文件路径]”)

重新导入
text=open(“testp.txt”).read()
rtext=“”
对于重新拆分中的p(“\n”,文本):
对于反向(关于拆分(“,p)):
rtext+=w+“”
rtext=rtext[:-1]+“\n”
rtext=rtext[:-1]
打印(rtext)
更新:这个很简单:

重新导入
将open(“testp.txt”)作为f:
打印(“\n”。加入(
在重新拆分(“\n”,f.read())中,为p的“.join”(反向(重新拆分(“,p)))
))
更新:不使用正则表达式的代码:

以open(“testp.txt”)作为f的
:
打印(“\n”。加入(
“”.join(反转(p.split())表示f.read()中的p.splitlines())
))
注意您可以使用
.split(“\n”)
而不是
.splitlines()

所有版本的结果是:

输入: 植物主要是多细胞的。绿色植物通过光合作用从阳光中获取大部分能量。大约有32万种植物。大约26-29万人生产种子。绿色植物产生氧气

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

输出: 氧气。种植绿色种子。生产上千株,260-290株。大约32万种植物中有光合作用。大多数植物通过太阳能获得绿色多细胞。主要是植物

我们。围绕着绿色植物,我们今天应该保护它。大量占用的土地种植绿色植物

打开(“testp.txt”)
更改为
打开(“[文件路径]”)

重新导入
text=open(“testp.txt”).read()
rtext=“”
对于重新拆分中的p(“\n”,文本):
对于反向(关于拆分(“,p)):
rtext+=w+“”
rtext=rtext[:-1]+“\n”
rtext=rtext[:-1]
打印(rtext)
更新:这个很简单:

重新导入
将open(“testp.txt”)作为f:
打印(“\n”。加入(
在重新拆分(“\n”,f.read())中,为p的“.join”(反向(重新拆分(“,p)))
))
更新:不使用正则表达式的代码:

以open(“testp.txt”)作为f的
:
打印(“\n”。加入(
“”.join(反转(p.split())表示f.read()中的p.splitlines())
))
注意您可以使用
.split(“\n”)
而不是
.splitlines()

所有版本的结果是:

输入: 植物主要是多细胞的。绿色植物通过光合作用从阳光中获取大部分能量。大约有32万种植物。大约26-29万人生产种子。绿色植物产生氧气

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

输出: 氧气。种植绿色种子。生产上千株,260-290株。大约32万种植物中有光合作用。大多数植物通过太阳能获得绿色多细胞。主要是植物

我们。围绕着绿色植物,我们今天应该保护它。大量占用的土地种植绿色植物


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

with open("input.txt") as f:
    read_data = f.read().splitlines()

    for p in read_data:
        words = p.split()
        print(' '.join(reversed(words)))
要读取和写入文件,可以执行以下操作:

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')

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

with open("input.txt") as f:
    read_data = f.read().splitlines()

    for p in read_data:
        words = p.split()
        print(' '.join(reversed(words)))
要读取和写入文件,可以执行以下操作:

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')

谢谢@A!但是在写回输出文件时,我得到了一个错误<用open(“input.txt”)作为f:read_data=f.read().splitlines(),用open(“output.txt”)作为fout:for p在read_data:words=p.split()fout.write(“”.join(words[::-1])fout.close()@j_robot也许你没有权限写入
fout
;将
open(“output.txt”)
更改为
open(“output.txt”,“w”)
。谢谢@A!但是在写回输出文件时,我得到了一个错误<用open(“input.txt”)作为f:read_data=f.read().splitlines(),用open(“output.txt”)作为fout:for p在read_data:words=p.split()fout.write(“”.join(words[::-1])fout.close()@j_robot也许你没有权限写入
fout
;将
open(“output.txt”)
更改为
open(“output.txt”,“w”)
。如何将其写回新文件
以open(“input.txt”)作为f:read_data=f.read().splitlines(),以open(“output.txt”)作为fout:for在read_data:words=p.split()fout.write(''.join(words[::-1])fout.close()
这是一个错误。@j_robot无需执行
fout.close
,因为您正在使用上下文管理器(
)(“..”
)。当您将
上下文一起离开时,文件将自动关闭。那么,我应该如何从您那里写入
输出.txt