ВОПРОС · Q&A

Вопрос

4 ответов 2 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор вопроса
Всем привет,у меня такой вопрос:
Python:
import os
with open('saveip.txt', 'r') as file:
    for i in file:
        return i
os.system('nmap (как сюда вставить i)')
я знаю что что nmap может читать ip из файла но есть программы в функционале которых это не предусмотрено, можно ли заставить такую программу,запущенную в скрипте с помощью например os.system, работать с результатами вычислений остальной части программы ?? Читал у Лутца по этой теме только как то непонятно там..
 
Лучше использовать subproces для такого, примерно как то так:

Python:
## запускаем нмап и ждём его завершения
out_nmap = subprocess.Popen('nmap '+i,shell=True,stdout=subprocess.PIPE).communicate()
 
Последнее редактирование:
  • Нравится
Реакции: mz111
1
Лучше использовать subproces для такого, примерно как то так:

Python:
## запускаем нмап и ждём его завершения
out_nmap = subprocess.Popen('nmap '+i,shell=True,stdout=subprocess.PIPE).wait()
## читаем вывод нмап
out_nmap.stdout.readlines()
Спасибо,попробую.
 
Я там с просонья чуток ошибся, wait() вернёт код завершения nmap , если нужон выхлоп программы нужно вместо wait() юзать communicate(), тогда в переменной out_nmap будет кортеж с выхлопом нмапа, в посте поправил.
 
  • Нравится
Реакции: id2746 и mz111
2
Вот так еще можно было:
Код:
import os
with open('saveip.txt', 'r') as file:
    for i in file:
        return i
os.system('nmap {0}'.format(i))
 
  • Нравится
Реакции: Rand0m_M, vag4b0nd, explorer и ещё 2
5