我试图通过使用以下循环和os.system枚举参数列表来多次调用脚本:
os.system("isthisipbad.py --ip " + RemoteIpAddress)
但是,它到达此循环时似乎没有做任何事情。它根本不会引发任何错误。它甚至不会打印我插入的“检查”行。以某种方式我的实施是不可接受的?当它只是一行时可以正常工作,例如:
def render_text(self, outfd, data):
self.table_header(outfd,
[(self.offset_column(), "[addrpad]"),
("Local Address", "25"),
("Remote Address", "25"),
("Pid", "")
])
for tcp_obj in data[0]:
local = "{0}:{1}".format(tcp_obj.LocalIpAddress, tcp_obj.LocalPort)
remote = "{0}:{1}".format(tcp_obj.RemoteIpAddress, tcp_obj.RemotePort)
self.table_row(outfd,
tcp_obj.obj_offset,
local, remote,
tcp_obj.Pid)
outfd.write("\n")
self.table_header(outfd,[("Processid", "20")])
for tcp_obj in data[1]:
self.table_row(outfd,tcp_obj.ImageFileName)
for tcp_obj in data[0]:
print("checking" + str(tcp_obj.RemoteIpAddress))
os.system("isthisipbad.py --ip " + str(tcp_obj.RemoteIpAddress))
整个功能如下:
forProduct:
之前调用基于第一个for循环中data [0]中的信息创建表,并且工作正常。
应该注意,'data'是在calculate函数结束时返回的值。
答案 0 :(得分:-1)
将数据[0]更改为仅数据。
此致:
for tcp_obj in data[0]:
print("checking" + str(tcp_obj.RemoteIpAddress))
os.system("isthisipbad.py --ip " + str(tcp_obj.RemoteIpAddress))
更改:
for tcp_obj in data:
print("checking" + str(tcp_obj.RemoteIpAddress))
os.system("isthisipbad.py --ip " + str(tcp_obj.RemoteIpAddress))