Best way to use split and strip
我的函数会从服务器上获取命令,并沿着
我需要做的是去掉
1 2 3 4 5 6 7 | def check(self): output = sh.ntpq("-nc rv") out_list = output.split(",") for i in out_list: if"offset" in i: self.metrics_emit('ntp.offset', i) break |
简单的方法是:
1 | i.strip().split('offset=')[1] |
例如:
1 2 | def scrape(line): return line.strip().split('offset=')[1] |
例子:
1 2 | >>> scrape('offset=1.3682') '1.3682' |
如果需要转换输出,由您决定。
How to extract the numeric value appeared after
offset= ?
1 2 3 4 5 6 7 8 | import re regex = re.compile('offset=([\d+\.\d+]+)') string = 'offset=1.3682' match = re.search(regex, string) if match: print(match.group(0)) # prints - offset=1.3682 print(match.group(1)) # prints - 1.3682 |
为什么我更喜欢正则表达式?因为即使字符串包含其他关键字,正则表达式也会提取出现在
1 2 | string = 'welcome to offset=1.3682 Stackoverflow' string = 'offset=abcd' |
How to remove leading and trailing whitespace characters?
1 | string.strip() |
将删除所有前导和尾随空格字符,如、
、 、f、空格。
要获得更大的灵活性,请使用以下内容
- 只删除前导空白字符:
myString.lstrip() 。 - 只删除尾随空格字符:
myString.rstrip() 。 - 删除特定的空白字符:
myString.strip(' 或
')myString.lstrip(' 或')
myString.rstrip(' 等。
\t')
参考文献:见此答案。
用于删除空白字符的
用于删除该字符串的
你也应该能把它们拴起来。