0
好吧......這是一個謎給我 下面的代碼打印:Python字符串分割神祕IndexError
['03:20:01', 'PM', '262144', '16176136', '98.41', '547744', '11459404', '2096128', '312', '0.01', '0']
['12:30:01', 'PM', '261748', '16176532', '98.41', '547600', '11459084', '2096128', '312', '0.01', '0']
['10:50:11', 'PM', '257516', '16180764', '98.43', '548064', '11460312', '2096128', '312', '0.01', '0']
但是當我嘗試打印C [2]它給了我:
IndexError: list index out of range
我錯過了什麼?
的代碼看起來非常簡單
cmd = 'sar -r -f /xactly/apps/sar/sjcxtlycomp22s/sa05 |sort -g -k4'
high = subprocess.Popen([cmd],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
shell=True)
memuse = False
count = 0
sep = re.compile('[\s]+')
for line in high.stdout:
if line:
line = line.strip()
count += 1
c = sep.split(line)
print c
你可以請加'LEN(C)'在另外到'打印',讓我們知道你看到了什麼? – GodMan
你在哪裏放置'print c [2]'語句? (另外,這不是你的問題,你知道're'在這裏是過度的,因爲字符串有一個'.split()'方法默認情況下在空白處分割?) – geoffspear
@ Wooble,它非常明顯在c = sep.split(line)'後打印'c [2]'的代碼和錯誤。否則,索引錯誤不會知道「c」是一個列表。另外,如果他在循環後打印它,c的最後一個值(這將是一個列表)將被保留。 – GodMan