Python中是否有任何快捷方式可删除文件中每行末尾的所有空格?

时间:2019-10-21 01:46:35

标签: python

我了解到我们可以轻松地删除文件中行内的空格或删除每个字符串行的空格,但是如何删除文件中每一行末尾的所有空格?

一种方法是处理文件的每一行,例如:

with open(file) as f:
  for line in f:
    store line.strip()

这是完成任务的唯一方法吗?

3 个答案:

答案 0 :(得分:0)

可能是最丑陋的实现,但这是我刚刚从零开始的内容

def strip_str(string):
    last_ind = 0
    split_string = string.split(' ')
    for ind, word in enumerate(split_string):
        if word == '\n':
            return ''.join([split_string[0]] + [ ' {} '.format(x) for x in split_string[1:last_ind]])
        last_ind += 1

答案 1 :(得分:0)

不知道这些是否算作完成任务的不同方法。首先实际上只是您所拥有产品的一种变体。第二个一次处理整个文件,而不是逐行处理。

  1. 在文件的每一行上调用“ rstrip”方法的地图。

    import operator
    
    with open(filename) as f:
    
        #basically the same as (line.rstrip() for line in f)
        for line in map(operator.methodcaller('rstrip'), f)):
    
            # do something with the line
    
  2. 读取整个文件并使用re.sub():

    import re
    
    with open(filename) as f:
        text = f.read()
        text = re.sub(r"\s+(?=\n)", "", text)
    

答案 2 :(得分:-1)

您只想删除空格,另一种解决方法是...

{
  "user: "user",
  "secret: "NO SECRET"
}

很好的去除空格。