Я пытаюсь использовать execute tcprewrite в цикле Python с вводом, но я получаю ошибки EOF.
Я знаю, что ввод может вызвать ошибку EOF, когда выполняется подпроцесс для tcprewrite.
Я пробовал обрабатывать другие команды, такие как touch и date, они, похоже, не вызывают ошибок EOF.
Я пробовал subprocess.call, os.system и Popen, однако они выдают ту же ошибку EOF, когдаВыполнение tcprewrite в цикле while с вводом.
Я могу просто отлично выполнить команду tcprewrite в терминале.
import subprocess
import time
while True:
first = input("Option: ")
print(first)
command = "tcprewrite --infile=test1.pcap --outfile=result.pcap --dlt=enet --fixcsum"
p = subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)
(output, err) = p.communicate()
p_status = p.wait()
print("Command output : ", output)
print("Command exit status/return code : ", p_status)
time.sleep(5)
Вывод:
Option: 1
1
Command output : b''
Command exit status/return code : 0
Option: Traceback (most recent call last):
File "test3.py", line 8, in <module>
first = input("Option: ")
EOFError