【发布时间】:2017-10-10 11:49:07
【问题描述】:
我有一个变量mystr(字符串类型) 其中包含以下数据:
zxoxcndsabcaa88912,(已用磁盘空间、每分钟请求数、操作系统内存 使用情况、繁忙线程、磁盘 I/O、堆内存使用情况、CPU 负载、平均 回复 Time,AccessTokenCount,RequestsCountPerMin,AverageResponseTimePerMin,CurrentBusyThreads,CurrentUsedMemory,ActiveClientRegistrationThreads,BorrowedConnectionsCount,ClientCount,RefreshTokenCount,FailedAccountTerminations,Error500CountMin,AuthorizationCodeCount)zxoxcndsabcaa900342, (已用磁盘空间、每分钟请求数、操作系统内存使用情况、繁忙线程、磁盘 I/O、堆内存使用、CPU 负载、平均响应 Time,AccessTokenCount,RequestsCountPerMin,AverageResponseTimePerMin,CurrentBusyThreads,CurrentUsedMemory,ActiveClientRegistrationThreads,BorrowedConnectionsCount,ClientCount,RefreshTokenCount,FailedAccountTerminations,Error500CountMin,AuthorizationCodeCount)
从这里我过滤是否存在忙线程,那么它应该退出系统,如果没有,那么它应该执行代码的其余部分。
这是我的代码:
print type(mystr)
if 'Busy Threads' in mystr:
print 'Busy threads is present'
sys.exit(1)
else:
print 'Busy threads not present'
检查()
但是我在这里面临的问题是我在 mystr 的结果中还有一个字符串 CurrentBusyThreads 除了 Busy Threads 所以即使 Busy Threads 不存在,它需要 CurrentBusyThreads 并执行不期望的其余部分。
任何其他准确过滤出繁忙线程的方法
【问题讨论】:
-
'BusyThreads' 不会匹配 'Busy Threads' -- 其中一个有空格。
-
你能清楚地解释你想要达到的目标吗?我从这个问题中得到了一小部分
-
假设您错误地将空格放在
Busy和Threads之间,实际上是BusyThreads,那么实现您想要的另一种便宜的方法是预先删除CurrentBusyThreads使用mystr.replace方法。如果任何其他类型的 BuysThreads 开始出现,则不起作用,但可以完成工作。 -
@jonatan 那么有什么办法可以匹配空格部分吗?
-
@Alex 包含空格,如果它应该匹配的话。或者使用两个条件(
or运算符可以用来组合它们)
标签: python string python-2.7 python-3.x filter