Реагировать на массивы полезной нагрузки фильтра

Ниже кодов без внешних библиотек работали для меня. Я тестировал в Python 2.7.9

Использование ЦП

import os

    CPU_Pct=str(round(float(os.popen('''grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage }' ''').readline()),2))

    #print results
    print("CPU Usage = " + CPU_Pct)

И использование Ram, Total, Used и Free

import os
mem=str(os.popen('free -t -m').readlines())
"""
Get a whole line of memory output, it will be something like below
['             total       used       free     shared    buffers     cached\n', 
'Mem:           925        591        334         14         30        355\n', 
'-/+ buffers/cache:        205        719\n', 
'Swap:           99          0         99\n', 
'Total:        1025        591        434\n']
 So, we need total memory, usage and free memory.
 We should find the index of capital T which is unique at this string
"""
T_ind=mem.index('T')
"""
Than, we can recreate the string with this information. After T we have,
"Total:        " which has 14 characters, so we can start from index of T +14
and last 4 characters are also not necessary.
We can create a new sub-string using this information
"""
mem_G=mem[T_ind+14:-4]
"""
The result will be like
1025        603        422
we need to find first index of the first space, and we can start our substring
from from 0 to this index number, this will give us the string of total memory
"""
S1_ind=mem_G.index(' ')
mem_T=mem_G[0:S1_ind]
"""
Similarly we will create a new sub-string, which will start at the second value. 
The resulting string will be like
603        422
Again, we should find the index of first space and than the 
take the Used Memory and Free memory.
"""
mem_G1=mem_G[S1_ind+8:]
S2_ind=mem_G1.index(' ')
mem_U=mem_G1[0:S2_ind]

mem_F=mem_G1[S2_ind+8:]
print 'Summary = ' + mem_G
print 'Total Memory = ' + mem_T +' MB'
print 'Used Memory = ' + mem_U +' MB'
print 'Free Memory = ' + mem_F +' MB'
0
задан Miroslav Glamuzina 26 February 2019 в 15:59
поделиться

2 ответа

Вы можете просто искать значения объекта, так что вам не нужно заботиться о названиях ключей.

filteredPayload: state.myPayload.filter(item => (
  Object.values(item).some(objValue => (
    objValue.toLowerCase().match(value)
  ))
))
0
ответ дан Gabriele Petrioli 26 February 2019 в 15:59
поделиться

Я решил это, выполнив следующее

filteredPayload: state. myPayload.filter(item => {
                switch (item.type) {
                case 'building':
                    return (
                        item.name.toLowerCase().match(value)
                            || item.country.toLowerCase().match(value)
                            || item.state.toLowerCase().match(value)
                    );
                case 'student':
                case 'teacher':
                    return (
                        item.name.toLowerCase().match(value)
                            || item.age.toLowerCase().match(value)
                            || item.height.toLowerCase().match(value)
                    );
                }

                return item;
            }),

Спасибо всем за помощь ^ _ ^

0
ответ дан CatGirl19 26 February 2019 в 15:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: