我想知道是否可以得到一些幫助,我的代碼粘貼在下面。現在它運行並完成ping任務,但運行到以下錯誤。任何幫助都會很棒,因爲我一直在努力一段時間。Python,Django和stdout的奇怪問題
錯誤:
Server.objects.filter(pk=id[0]).update(online=1)
TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'
代碼:
import subprocess
from django.db import models
from networkstats.models import Server
query = Server.objects.values_list('id', 'ip_address')
for ip_address in query:
print 'Server ID: ' + str(ip_address[0])
print 'Server IP: ' + str(ip_address[1])
command = ['ping -t 200 -c 1 ' + ip_address[1]]
ping = subprocess.Popen(command, stdout=subprocess.PIPE, shell = True)
if "100% pocket loss" in ping.stdout.read():
Server.objects.filter(pk=id[0]).update(online=0)
else:
Server.objects.filter(pk=id[0]).update(online=1)
謝謝你的幫助,改變和糾正「口袋損失」允許它正確更新。 – icebox3d
@ icebox3d查看更新的代碼 – neoascetic