using subprocess.Popen does not suppress terminal window on Windows

janis.judvaitis at gmail.com janis.judvaitis at gmail.com
Wed Sep 12 11:26:34 EDT 2012


Hi, and I'm sorry for using this old thread, but I'm experiencing the same problem, except, that I wan't to execute any shell script or exe without blank terminal window. 

Is there any way in python to supress blank console screen while script is executing? Multiplatform solution would be nice.

With best regards, Jānis.

On Friday, June 18, 2010 7:23:19 PM UTC+3, Steven wrote:
> I am calling a ruby program from a python gui and using
> subprocess.Popen in Windows XP using python 2.6.  Unfortunately,
> whenever the ruby program is called a blank command window appears on
> screen, annoying my users.  Is there a way to suppress this behaviour?
> 
> Below is a minimal program that demonstrates the problem.  The problem
> does not manifest if the python program is launched via the command
> line.  To duplicate launch from Windows Explorer by double-clicking on
> the python file.
> 
> --- call_double.pyw ---
> from subprocess import *
> import time
> 
> time.sleep(3) # to show that command window is result of call to Popen
> p = Popen(['ruby.exe', 'double.rb'], stdin=PIPE, stdout=PIPE,
> stderr=PIPE)
> results = open('results.txt', 'w')
> for n in range(10):
>     p.stdin.write("%d\n" % n)
>     result = p.stdout.readline().strip()
>     results.write('double(%s) => %2s\n' % (n, result))
> results.close()
> 
> --- end of call_double.pyw ---
> 
> --- double.rb ---
> while true
>     puts $stdin.gets().strip!.to_i * 2
>     STDOUT.flush
> end
> --- end of double.rb ---
> 
> thanks for any help,
> Steven Rumbalski

I



More information about the Python-list mailing list