欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python怎么去除文本多余空格?

程序员文章站 2022-07-08 18:29:34
原来的文本如下: L i n u x于1 9 9 1年诞生于芬兰。大学生Linus To r v a l d s,由于没有足够的钱购买昂贵的商用操 作系统,于是自己编写了一...

原来的文本如下:

L i n u x于1 9 9 1年诞生于芬兰。大学生Linus To r v a l d s,由于没有足够的钱购买昂贵的商用操  作系统,于是自己编写了一个小的操作系统内核,这就是 L i n u x的前身。Linus To r v a l d s将操作  系统的源代码在 I n t e r n e t上公布,受到了计算机爱好者的热烈欢迎。各种各样的计算机高手不  断地为它添加新的特性,并不断地提高它的稳定性。 1 9 9 4年,Linux 1.0正式发布。现在,  L i n u x已经成为一个功能强劲的3 2位的操作系统。  严格地说, L i n u x只是一个操作系统内核。比较正式的称呼是 G N U操作系统,它使用  L i n u x内核。G N U的意思是G N U’s not Unix(G N U不是U n i x)—一种诙谐的说法,意指 G N U  是一种类U n i x的操作系统。G N U计划是由*软件的创始人 S t a l l m a n在2 0世纪8 0年代提出的  一个庞大的项目,目的是提供一个免费的类 U n i x的操作系统以及在上面运行的应用程序。  G N U项目在初期进展并不顺利,特别是操作系统内核方面。 L i n u x适时而出,由于它出色的性  能,使它成为G N U项目的操作系统的内核。从此以后, G N U项目进展非常迅速:全世界的计  算机高手已经为它贡献了非常多的应用程序和源代码。  L i n u x是遵从G P L协议的软件,也就是说,只要遵从 G P L协议,就可以免费得到它的软件  和源代码,并对它进行*地修改。然而,对一般用户来说,从 I n t e r n e t或者其他途径获得这  些源代码,然后对它们进行编译和安装是技术难度很高的工作。一些应用程序的安装也都非  常复杂。因而,有一些公司如 Red Hat、VA等开始介入L i n u x的业务。它们将L i n u x操作系统以及一些重要的应用程序打包,并提供较方便的安装界面。同时,还提供一些有偿的商业服务  如技术支持等。这些公司所提供的产品一般称为 L i n u x的发布版本。

这里存在不少多余的空格,我想把它们处理得更加紧凑,达到下面效果:

Linux于1991年诞生于芬兰。大学生LinusTorvalds,由于没有足够的钱购买昂贵的商用操作系统,于是自己编写了一个小的操作系统内核,这就是Linux的前身。LinusTorvalds将操作系统的源代码在Internet上公布,受到了计算机爱好者的热烈欢迎。各种各样的计算机高手不断地为它添加新的特性,并不断地提高它的稳定性。1994年,Linux1.0正式发布。现在,Linux已经成为一个功能强劲的32位的操作系统。严格地说,Linux只是一个操作系统内核。比较正式的称呼是GNU操作系统,它使用Linux内核。GNU的意思是GNU’snotUnix(GNU不是Unix)—一种诙谐的说法,意指GNU是一种类Unix的操作系统。GNU计划是由*软件的创始人Stallman在20世纪80年代提出的一个庞大的项目,目的是提供一个免费的类Unix的操作系统以及在上面运行的应用程序。GNU项目在初期进展并不顺利,特别是操作系统内核方面。Linux适时而出,由于它出色的性能,使它成为GNU项目的操作系统的内核。从此以后,GNU项目进展非常迅速:全世界的计算机高手已经为它贡献了非常多的应用程序和源代码。Linux是遵从GPL协议的软件,也就是说,只要遵从GPL协议,就可以免费得到它的软件和源代码,并对它进行*地修改。然而,对一般用户来说,从Internet或者其他途径获得这些源代码,然后对它们进行编译和安装是技术难度很高的工作。一些应用程序的安装也都非常复杂。因而,有一些公司如RedHat、VA等开始介入Linux的业务。它们将Linux操作系统以及一些重要的应用程序打包,并提供较方便的安装界面。同时,还提供一些有偿的商业服务如技术支持等。这些公司所提供的产品一般称为Linux的发布版本。

下面的python脚本读取文本内容并去除了多余空格:

#encoding = utf-8#
import os


with open((os.path.join('New Text Document.txt')), 'r') as f:
    data=f.readlines()
    for line in data:
        odom=line.split()
        tmp_str = "".join(odom)
        result =  ' '.join(tmp_str.split())


with open((os.path.join('test_copy.txt')), 'w') as f:
    f.write(result)