цикл не продолжается; попробуй кроме - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь найти список и извлечь из него нужные мне значения. По какой-то причине он не продолжает цикл for, может быть, это связано с try и except? Сейчас я использовал несколько попыток, но не вижу, что я делаю неправильно, кто-нибудь может мне помочь с этим?

valueslist = ["Time:", "Name:", "Pid:", "VmPeak:", "VmSize:", "VmPin:", "VmLck:", "VmHWM:", "VmRSS:", "RssAnon:", "RssFile:", "RssShmem:", "VmData:", "VmStk:", "VmExe:", "VmLib:", "VmPTE:", "VmSwap:", "voluntary_ctxt_switches:", "nonvoluntary_ctxt_switches:"]
Time, Name, Pid, VmPeak, VmSize, VmPin, VmLck, VmHWM, VmRSS, RssAnon, RssFile, RssShmem, VmData, VmStk, VmExe, VmLib, VmPTE, VmSwap, voluntary_ctxt_switches, nonvoluntary_ctxt_switches = [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [] 
appendlist = [Time, Name, Pid, VmPeak, VmSize, VmPin, VmLck, VmHWM, VmRSS, RssAnon, RssFile, RssShmem, VmData, VmStk, VmExe, VmLib, VmPTE, VmSwap, voluntary_ctxt_switches, nonvoluntary_ctxt_switches]

for row in range(1, len(ReaderSplit)):
    ReaderSplitSplit = ReaderSplit[row].split()
    for i in range(len(valueslist)):
        factor = 1
        print("VALUESLIST:", valueslist[i])
        print("READERSPLITSPLIT:", ReaderSplitSplit)
        if i==0:
            appendlist[i].append(ReaderSplitSplit[0])  # The name in valuelist is not in ReaderSplitSplit, but always contained @ ReaderSplitSplit[0]
        if not i == 0:
            try:
                index = ReaderSplitSplit.index("{}".format(valueslist[i]))  # try because .index throws exception if valuelist[i] is not element
            except ValueError:
                pass
            if len(ReaderSplitSplit)>index+2: # if this occurs, then size is not in kb or MB so the usual "else" works
                if ReaderSplitSplit[index+2] == "kB":
                    factor = 1000
                elif ReaderSplitSplit[index+2] == "MB":
                    factor = 1000*1000
            appendlist[i].append(int(ReaderSplitSplit[index+1])*factor)
        print("APPENDLIST:", appendlist[i])

Я ожидал, что это напечатает мне список каждого нового списка значений, но он печатается только до i == 1 и только до print("READERSPLITSPLIT", ReaderSplitSplit).

Нет сообщений об ошибках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...