Python 如何剥离多个空格、换行符和制表符,只在文本文件中放置一个空格?

Python 如何剥离多个空格、换行符和制表符,只在文本文件中放置一个空格?,python,parsing,formatting,text-parsing,Python,Parsing,Formatting,Text Parsing,我有莎士比亚全集的数据,我想在单词嵌入算法中使用这些数据来创建一个模型。该模型的要求是,整个文本只提供单个空格,而不提供其他类型的空格。我怎样才能做到这一点?我发现如何对单个字符串执行此操作,但对文本文件不起作用 我的尝试(我对python不是很了解): 清洁的行在打印时没有删除\n,因此我没有将它们写回文件。您可以尝试使用正则表达式: import re with open(file_path) as data: text = re.sub(r'\s+', ' ', data.rea

我有莎士比亚全集的数据,我想在单词嵌入算法中使用这些数据来创建一个模型。该模型的要求是,整个文本只提供单个空格,而不提供其他类型的空格。我怎样才能做到这一点?我发现如何对单个字符串执行此操作,但对文本文件不起作用

我的尝试(我对python不是很了解):


清洁的行在打印时没有删除
\n
,因此我没有将它们写回文件。

您可以尝试使用正则表达式:

import re

with open(file_path) as data:
    text = re.sub(r'\s+', ' ', data.read())
\s+
正则表达式模式将匹配一个或多个空白字符的任何序列。将用匹配的文本替换单个空格

空白由空格、制表符、换行符、回车符、换行符、垂直制表符等字符组成。它不包括标点符号

不使用正则表达式的另一种方法是使用
split()
,然后使用
join()


您可以尝试使用正则表达式:

import re

with open(file_path) as data:
    text = re.sub(r'\s+', ' ', data.read())
\s+
正则表达式模式将匹配一个或多个空白字符的任何序列。将用匹配的文本替换单个空格

空白由空格、制表符、换行符、回车符、换行符、垂直制表符等字符组成。它不包括标点符号

不使用正则表达式的另一种方法是使用
split()
,然后使用
join()


那么,所有的换行符和其他空格都应该用一个空格来替换?是的,它的型号。那么,所有的换行符和其他空格都应该用一个空格来替换?是的,它的model@leehuang字体它对我有用。您看到的错误是什么?还是什么不起作用?谢谢,它对我起作用了,我在自己的代码中犯了一些错误。@leehuang:它对我起作用了。您看到的错误是什么,或者什么不起作用?谢谢,它对我起了作用,我在自己的代码中犯了一些错误。
with open(file_path) as data:
    text = ' '.join(data.read().split())