Windows: setting title of console window

Ethan Furman ethan at
Sat Jul 30 20:39:07 CEST 2011

Chris Angelico wrote:
> I'm afraid I don't understand this. Why create an object and do the
> work in the destructor? When will the destructor be called? Will you
> subsequently be overwriting sys.argv with the actual arguments?
> This code snippet makes excellent sense if and only if it's executed
> before sys.argv gets set to something meaningful. I'm just not
> following how you organize for this to be the case. Is
> executed before sys.argv is set, and is this affected
> by the fact that it actually imports sys?

Well, you /could/ have followed the link and read the explanation 
there... ;)

However, here it is again:

How it works: since the sys.argv object does yet exist, I create an 
object and assign it to sys.argv; then, when Python assigns the actual 
argv to sys.argv, my object is tossed, and the __del__ method is called; 
the __del__ method is then able to access the real argv and set the 
title bar accordingly. I put the sleep in just to avoid any possible 
race conditions, but I'm not sure it's necessary. If you don't want to 
see all the command-line args, you can pre-process command any way you like.


More information about the Python-list mailing list