Переменные подпроцесса

  1 import subprocess
  2 raw = raw_input("Filename:").lower()
  3 ip = raw_input("Host:").lower()
  4 cmd = subprocess.call("tcpdump -c5 -vvv -w" + " raw " + " ip ",shell=True)

Итак, это мой сценарий. Я все работает, кроме одной ключевой цели, используя необработанный ввод. Он позволяет мне вводить все, что я хочу, но когда он идет на сохранение файла или использование ip / host, на самом деле ничего не делает. Конечно, он дает мне пакеты, но с локального хоста, а не с хоста, который я ввожу.

откуда я знаю, что это не работает, потому что мой первый необработанный ввод - это имя файла, поэтому я провожу тест, когда смотрю в в папке, в которой находится мой скрипт, он создает файл с именем "raw", что означает, что на самом деле он не принимает мои данные только с использованием того, что находится внутри моего "X" ...

Так что у меня есть несколько шансов прийти к этому:

  1 import subprocess
  2 raw = raw_input("Filename:").lower()
  3 ip = raw_input("Host:").lower()
  4 cmd = subprocess.call("tcpdump -c5 -vvv -w" + raw + "host" + ip,shell=True)

Это замечательно, потому что на самом деле он вызывает -w, но теперь сохраняет его как rawhostip, а не как "raw". для справки вот как выглядит команда в терминале:

tcpdump -c5 -vvv -w savename host wiki2

только две переменные - savename и wiki2, остальные необходимы для работы команды.

с этим скриптом я получаю эту ошибку:

import subprocess
raw = raw_input("Filename:").lower()
ip = raw_input("Host:").lower()
cmd = subprocess.call("tcpdump -c5 -vvv -w" + raw, "host" + ip,shell=True)

Ошибка:

Traceback (most recent call last):
  File "te.py", line 4, in <module>
    cmd = subprocess.call("tcpdump -c5 -vvv -w" + raw, "host" + ip,shell=True)
  File "/usr/lib/python2.6/subprocess.py", line 480, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.6/subprocess.py", line 583, in __init__
    raise TypeError("bufsize must be an integer")
TypeError: bufsize must be an integer

Я заблудился. Любая помощь будет отличной, да, я знаю, посмотрите документацию подпроцесса на сайте: X, мне нужен человек, чтобы научить меня, я не понимаю, что читаю.

Мой вопрос в том, как мне работать с ними переменные.

15
задан Nakilon 25 April 2013 в 10:53
поделиться