python去除字符串换行
经常遇到python调用shell命令的输出内容中有换行符,导致隐形的字符串没有匹配上。所以在对比shell命令输出的字符串,一定要在python中注意处理掉字符串结尾的换行符。
python提供了一个非常方便的方法rstrip()可以删除掉换行符
>>> 'test string\n'.rstrip()
'test string'rstrip()甚至可以删除所有类型的尾部:
>>> 'test string \n \r\n\n\r \n\n'.rstrip()
'test string'只删除新行符号(newlines)可以指定:
>>> 'test string \n \r\n\n\r \n\n'.rstrip('\n')
'test string \n \r\n\n\r '另外还有对应的lstrip()和rstrip()分别用于去除左边的换行符和右边的换行符
>>> s = " \n\r\n \n abc def \n\r\n \n "
>>> s.strip()
'abc def'
>>> s.lstrip()
'abc def \n\r\n \n '
>>> s.rstrip()
' \n\r\n \n abc def'在日常调用shell中,实际上shell也提供了一个去除换行符的方法,就是使用
echo -n $(XXXXX),此时调用的指令的换行符也会被去除。
参考
Last updated
Was this helpful?