Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.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
Python删除行之间的回车/空格_Python_Space_Enter - Fatal编程技术网

Python删除行之间的回车/空格

Python删除行之间的回车/空格,python,space,enter,Python,Space,Enter,好的,所以我已经读了很多关于如何消除多余空间的帖子,但不管出于什么原因,我似乎无法将这些建议应用到我的系统中,所以我在这里请求您的帮助 以下是我代码的最后几行: for line in rline[start+5 : end] : words = line.split() word1 = int(words[1]) print >>opennew, "%s%s" % (word1,line[30:]) 新的opennew文件如

好的,所以我已经读了很多关于如何消除多余空间的帖子,但不管出于什么原因,我似乎无法将这些建议应用到我的系统中,所以我在这里请求您的帮助

以下是我代码的最后几行:

    for line in rline[start+5 : end] :
        words = line.split()
        word1 = int(words[1])
        print >>opennew, "%s%s" % (word1,line[30:])
新的opennew文件如下所示:

    1        0.876153    0.152889   -0.047464

    2        1.011880   -1.161641   -2.096289

    3        0.883419    1.558736    1.966913

    4        2.010367   -1.140725    1.053368
而我真正想要的是:

    1        0.876153    0.152889   -0.047464
    2        1.011880   -1.161641   -2.096289
    3        0.883419    1.558736    1.966913
    4        2.010367   -1.140725    1.053368
我是否向代码中添加了一些内容,以从输入中删除多余的回车/空格

非常感谢你的帮助

附言:
请不要问我为什么要拆分代码中的行,这是有目的的,它将在将来的更好的代码中有一个应用程序


尝试从行中剥离换行符:


您可以使用line=line.rstrip从每行中删除尾随空格,也可以更改print语句以省略其自身的尾随换行符:

print >>opennew, "%s%s" % (word1,line[30:]),
#                                          ^

但是,由于print语句的语法复杂,可能最好使用rstrip…

您可以使用line=line.rstrip从每一行中删除尾随空格,或者更改print语句以省略其自身的尾随换行符:

print >>opennew, "%s%s" % (word1,line[30:]),
#                                          ^

但是,由于print语句的语法复杂,可能最好按照@ThiefMaster或@squiguy的建议使用rstrip…

,但另一种方法是:

import sys
sys.stdout.write('%s%s' % (word1, line[30:]))

虽然我可能会像@ThiefMaster或@squiguy建议的那样选择.rstrip,但另一种方法是:

import sys
sys.stdout.write('%s%s' % (word1, line[30:]))

尽管我可能会选择.rstrip

谢谢大家的建议,但根据ThiefMaster的回答,我突然想到,我可以通过添加-1来消除行中的最后一个空格,而不是删除Python自己的换行符,这样问题就解决了

    print >>opennew, "%s%s" % (word1,line[30:-1])
我以前试过的另一种方法是

    opennew.write (str(word1) + (line[30:]) + "")
末尾的附加引号是用来消除额外不需要的回车/空格的引号。这对我来说很有效,但老实说,我不知道为什么,你知道这些额外的引语是怎么做的吗


谢谢大家的建议,基于ThiefMaster的回答,我想我可以通过添加-1来消除行中最后的空白,而不是删除Python自己的换行符,这样问题就解决了

    print >>opennew, "%s%s" % (word1,line[30:-1])
我以前试过的另一种方法是

    opennew.write (str(word1) + (line[30:]) + "")
末尾的附加引号是用来消除额外不需要的回车/空格的引号。这对我来说很有效,但老实说,我不知道为什么,你知道这些额外的引语是怎么做的吗


谢谢

我确实喜欢打印任何东西,但我也同意它有时太微妙或只是删除了,因为它不被理解,也被认为是错误的。唯一的一点是OP可能需要.rstrip'\n',如果出于某种原因,尾随空格是有意义的,那么它会将一个人类可读的纯文本表转储到stdout。因此,尾随空格很可能不重要,通常也不需要。例如,在将数据重定向到文件的情况下。我确实喜欢打印任何内容,但我同意,它有时太微妙,或者只是删除了,因为它不被理解,并且被认为是错误的。唯一的一点是OP可能需要.rstrip'\n',如果出于某种原因,尾随空格是有意义的,那么它会将一个人类可读的纯文本表转储到stdout。因此,尾随空格很可能不重要,通常也不需要。例如,在将数据重定向到文件的情况下。您不需要在Windows上执行任何不同的操作。@martineau真的吗?我认为您需要删除Windows文件的回车符。我可能错了,因为我没有办法测试它。如果数据以非二进制文本模式从/写入文件,默认的打开模式,即从/到平台行尾约定的转换,当前在Python中自动处理。您不需要在Windows上做任何不同的操作。@martineau真的吗?我认为您需要删除Windows文件的回车符。我可能是错的,因为我没有办法测试它。如果数据以非二进制文本模式从/写入文件,默认的打开模式,即从/到平台的行结束约定的转换,当前会在Python中自动处理。谢谢大家的建议,根据ThiefMaster的回答,我觉得我可以通过添加一个-1来消除行中的最后一个空格,而不是消除Python自己的换行符,这样问题就解决了print>>opennew,%s%s%word1,第[30:-1]行感谢大家的建议,根据ThiefMaster的回答,我觉得我可以通过添加-1来消除行中的最后一个空格,而不是消除Python自己的换行符,这样问题就解决了print>>opennew,%s%s%word1,第[30:-1]行