[Python-checkins] bpo-45901: Fixes argument passing when invoking .py files directly through the Store package (GH-29799)

zooba webhook-mailer at python.org
Fri Nov 26 18:08:29 EST 2021


https://github.com/python/cpython/commit/4841e694ee1686f8c933ddfcb8c854915867ce17
commit: 4841e694ee1686f8c933ddfcb8c854915867ce17
branch: main
author: Steve Dower <steve.dower at python.org>
committer: zooba <steve.dower at microsoft.com>
date: 2021-11-26T23:08:20Z
summary:

bpo-45901: Fixes argument passing when invoking .py files directly through the Store package (GH-29799)

files:
A Misc/NEWS.d/next/Windows/2021-11-26-18-17-41.bpo-45901.c5IBqM.rst
M PC/layout/support/appxmanifest.py

diff --git a/Misc/NEWS.d/next/Windows/2021-11-26-18-17-41.bpo-45901.c5IBqM.rst b/Misc/NEWS.d/next/Windows/2021-11-26-18-17-41.bpo-45901.c5IBqM.rst
new file mode 100644
index 0000000000000..2cb872bffe072
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2021-11-26-18-17-41.bpo-45901.c5IBqM.rst
@@ -0,0 +1,4 @@
+When installed through the Microsoft Store and set as the default app for
+:file:`*.py` files, command line arguments will now be passed to Python when
+invoking a script without explicitly launching Python (that is, ``script.py
+args`` rather than ``python script.py args``).
diff --git a/PC/layout/support/appxmanifest.py b/PC/layout/support/appxmanifest.py
index 747c97a00699d..15119b02a802a 100644
--- a/PC/layout/support/appxmanifest.py
+++ b/PC/layout/support/appxmanifest.py
@@ -430,7 +430,7 @@ def get_appxmanifest(ns):
         ["python", "python{}".format(VER_MAJOR), "python{}".format(VER_DOT)],
         PYTHON_VE_DATA,
         "console",
-        ("python.file", [".py"], '"%1"', "Python File", PY_PNG),
+        ("python.file", [".py"], '"%1" %*', "Python File", PY_PNG),
     )
 
     add_application(
@@ -441,7 +441,7 @@ def get_appxmanifest(ns):
         ["pythonw", "pythonw{}".format(VER_MAJOR), "pythonw{}".format(VER_DOT)],
         PYTHONW_VE_DATA,
         "windows",
-        ("python.windowedfile", [".pyw"], '"%1"', "Python File (no console)", PY_PNG),
+        ("python.windowedfile", [".pyw"], '"%1" %*', "Python File (no console)", PY_PNG),
     )
 
     if ns.include_pip and ns.include_launchers:



More information about the Python-checkins mailing list