Python Forum
How to answer subprocess prompt
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to answer subprocess prompt
#1
When I run: python3.5 script.py
Which has:
process = Popen(['command args more args'], stdin=PIPE, stdout=PIPE, shell=True)
The command will prompt me to respond in Y or N with enter continue from a previous session.
This is something that I would respond Y enter
But I am unable to figure out how to respond to it
I have tried
yes = str("Y")
ayes = bytes(yes, 'utf-8')
process.communicate(ayes) #didn't bring even the Y into the console prompt

I've tried
process.communicate('Y\n') #TypeError: memoryview: a bytes-like object is required, not 'str'

and quite a lot of combinations, but I can't seem to get it to work. The machine is running linux with python3.5

I have no idea how to resolve it, even if I type Y manually into the console then it would say: "bash: y: command not found"
Reply
#2
Which command do you run in subprocess? Usually, the programmes asking you y/n have an option -y. You can just add it to the parameters when you call it.
"As they say in Mexico 'dosvidaniya'. That makes two vidaniyas."
https://freedns.afraid.org
Reply
#3
reaver

The prompt only appears second after I have run the command so I am unable to answer 'y' with the beginning argument
Reply
#4
Post the command, please! What it asks for?
"As they say in Mexico 'dosvidaniya'. That makes two vidaniyas."
https://freedns.afraid.org
Reply
#5
(Feb-11-2018, 09:49 PM)Monty Wrote: I've tried
process.communicate('Y\n') #TypeError: memoryview: a bytes-like object is required, not 'str'


A bytes-like object can be created by putting a b in front of your string. Have you tried: process.communicate(b'Y\n')?
Reply
#6
(Feb-13-2018, 05:18 PM)wavic Wrote: Post the command, please! What it asks for?

process = Popen(['reaver -i wlan1mon -b my:ap:ma:ca:dr:es'], stdin=PIPE, stdout=PIPE, shell=True)
after this is run the console prompts: "Restore previous session for my:ap:ma:ca:dr:es? [n/Y]


(Feb-13-2018, 05:37 PM)nilamo Wrote:
(Feb-11-2018, 09:49 PM)Monty Wrote: I've tried
process.communicate('Y\n') #TypeError: memoryview: a bytes-like object is required, not 'str'


A bytes-like object can be created by putting a b in front of your string. Have you tried: process.communicate(b'Y\n')?

I did try process.communicate(b'Y\n')
But it doesn't run it. I'm guessing it gets stuck on that line when it prompts to continue, if that is the case then the subprocess line would never get completed. Perhaps I need another script to answer to this prompt?

Perhaps I could work-around this by creating a bash script to run a python file with only that line in the background and in the next line it would communicate to that stuck line. Seems like a stupid idea though, there must be a better way.
Reply
#7
Well, -a flag was removed from the program arguments. There is a discussion to add -y flag but appears that that isn't done yet. One option is to use -s /usr/local/etc/reaver/<BSSID>.wpc option where <BSSID>.wpc is the session file.

https://github.com/shift/reaver-wps/issues/234

By the way, see this: https://stackoverflow.com/questions/1635...n-argument
"As they say in Mexico 'dosvidaniya'. That makes two vidaniyas."
https://freedns.afraid.org
Reply
#8
(Feb-13-2018, 06:29 PM)wavic Wrote: Well, -a flag was removed from the program arguments. There is a discussion to add -y flag but appears that that isn't done yet. One option is to use -s /usr/local/etc/reaver/<BSSID>.wpc option where <BSSID>.wpc is the session file.

https://github.com/shift/reaver-wps/issues/234

By the way, see this: https://stackoverflow.com/questions/1635...n-argument

Thank you sir. That worked.

I'm still curious on how I could run processes simultaneously and make them communicate.
Reply
#9
Probably socket interprocess communication: https://docs.python.org/3/library/ipc.html

Or by pyzmq.
"As they say in Mexico 'dosvidaniya'. That makes two vidaniyas."
https://freedns.afraid.org
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  why don't i get the answer i want CompleteNewb 12 3,294 Sep-04-2021, 03:59 PM
Last Post: CompleteNewb
  disable subprocess.popen prompt echo paul18fr 1 1,966 Feb-04-2021, 02:50 AM
Last Post: Larz60+
  I am getting the wrong answer, and not sure why riskeay 3 1,999 Nov-05-2020, 08:24 PM
Last Post: deanhystad
  Make the answer of input int and str enderfran2006 2 1,970 Oct-12-2020, 09:44 AM
Last Post: DeaD_EyE
  Keeps looping even after correct answer mcesmcsc 2 1,871 Dec-12-2019, 04:27 PM
Last Post: mcesmcsc
  I'm getting a wrong answer don't know where the bug is 357mag 4 2,763 Jul-07-2019, 11:21 PM
Last Post: DeaD_EyE
  Subprocess command prompt (Windows) arnaur 6 10,191 Sep-06-2018, 07:22 AM
Last Post: arnaur

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020