Arnb
Arnb

Reputation: 1057

.pyw files in python program

I am new to Python programming. Can anybody provide an explanation on what a *.pyw file is and how it works.

Upvotes: 78

Views: 83326

Answers (2)

absolutelyNoWarranty
absolutelyNoWarranty

Reputation: 2028

Python scripts (files with the extension .py) will be executed by python.exe by default. This executable opens a terminal, which stays open even if the program uses a GUI. If you do not want this to happen, use the extension .pyw which will cause the script to be executed by pythonw.exe by default (both executables are located in the top-level of your Python installation directory). This suppresses the terminal window on startup.

You can also make all .py scripts execute with pythonw.exe, setting this through the usual facilities, for example (might require administrative rights):

Source: 3. Using Python on Windows → 3.3.4. Executing scripts

So in practice the only difference is that one leaves a console window hanging around and the other doesn't. The most obvious usage for *.pyw are GUI apps since an app with an independent GUI obviously does not need or want the console window around.

There are some subtle implementation differences between python.exe and pythonw.exe, see https://stackoverflow.com/a/30313091/3703989

Upvotes: 119

codeforever10
codeforever10

Reputation: 65

Its just a file extension that tells python to run the script in the background.

Upvotes: 4

Related Questions