MK wrote: > Hi there, > > i am using this code to send an "cat > ThisIsMyUrl" with popen. > Of cos cat now waits for the CTRL+D command. > How can i send this command ? > > def console_command(cmd): > print cmd > console = os.popen(cmd,"r") > output = console.read() > console.close() > return output > > command="cat > " + working_dir + "/" + subdir + "www.thisismyurl.com" > console_command(command)
Ignoring the subprocess module for a moment, you could use os.popen2 instead of os.popen and then close the stdin fd to simulate a CTRL-D(EOF). stdin, stdout = os.popen2(cmd) stdin.write('This is line 1.\n') stdin.close() # CTRL-D With the subprocess module, you might do something like this (untested) ... from subprocess import Popen, PIPE console = Popen( cmd, shell=True, stdin=PIPE, stdout=PIPE, close_fds=True ) console.stdin.write('This is line 1.\n') console.stdin.close() # ... or just ... # console.communicate('This is line 1.\n') But, I can't figure out why you would want to do this. Or I should say it's not at all clear to me what you are trying to accomplish -- although I suspect you are making it difficult for yourself. Can you provide a brief explanation of what you are trying to achieve? HTH, Marty _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor