代码之家  ›  专栏  ›  技术社区  ›  user3832061

从文件打印到控制台和其他文件

  •  -2
  • user3832061  · 技术社区  · 10 年前

    我正在从文件中读这行

    yara_rule1:
       rule match:
       problem:
    
    yara_rule2:
       rule match:
       problem:
    

    当我将其打印到控制台时,“规则匹配”和“问题”之前的空格被省略。 有什么问题

    input_data = open(file)
    for line in input_data:
        print line.strip()
    
    1 回复  |  直到 10 年前
        1
  •  1
  •   Martijn Pieters    10 年前

    str.strip() 删除 全部的 两端的空格 然后开始 字符串的。换句话说,它是 line.strip() 方法调用,该方法调用生成一行没有初始空格。

    如果只想删除换行符,请使用 str.rstrip() :

    print line.rstrip('\n')
    

    比较:

    >>> '   rule match:\n'.strip()
    'rule match:'
    >>> '   rule match:\n'.rstrip('\n')
    '   rule match:'