[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:43:21 EST 2021


https://github.com/python/cpython/commit/133fb267f437f9bd568738d0e0e59e574fc82b02
commit: 133fb267f437f9bd568738d0e0e59e574fc82b02
branch: 3.9
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: zooba <steve.dower at microsoft.com>
date: 2021-11-26T23:43:12Z
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