2016-03-28 3 views
0

Я пытаюсь сделать nslookup со списком IP-адресов. Я делаю nslookup на компьютере с Windows 7. Ошибка, которую я получаю, заключается в том, что когда я запускаю nslookup, я получаю переменную result обратно как ноль каждый раз. Как я могу получитьПолучить результаты nslookup в Windows 7 Cmd Prompt

Server: server.address.com 
    Address: 10.45.66.77 

    Server: server.address.com 
    Address: 108.36.85.35 

как мой результат вместо 0?

#!/usr/bin/env python 

#purpose of script: To conduct an nslookup on a list of IP addresses 

import os, csv 

#get list of IP's from file 
inFile='filelocation/Book1.txt' 
ipList = [] 
with open(inFile, 'rb') as fi: 
    for line in fi: 
     line = line.replace(',', '')#remove commas and \n from list 
     line = line.replace('\r', '') 
     line = line.replace('\n', '') 
     ipList.append(line)# create list of IP addresses to lookup 

#output results 
outFile='filelocation/outFile.txt' 
fo = open(outFile, 'w') 
for e in ipList: 
    result = str(os.system('nslookup ' + e))#send nsLookup command to cmd prompt. Result = 0 everytime 
    fo.write(result) 

ответ

2

os.system не возвращает вывод команды, которую вы запускаете; он печатает его вместо этого.

Чтобы выполнить команду и получить свой выход, используйте os.popen(...).read() вместо:

result = os.popen('nslookup ' + e).read()