在for循环中使用os.system没有响应

时间:2017-11-05 23:26:19

标签: python os.system

我试图通过使用以下循环和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函数结束时返回的值。

1 个答案:

答案 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))