bpo-45901: Fixes argument passing when invoking .py files directly through the Store package (GH-29799)
![](https://secure.gravatar.com/avatar/cc7737cd64a84f1b5c61a160798e97ee.jpg?s=120&d=mm&r=g)
https://github.com/python/cpython/commit/4841e694ee1686f8c933ddfcb8c85491586... commit: 4841e694ee1686f8c933ddfcb8c854915867ce17 branch: main author: Steve Dower <steve.dower@python.org> committer: zooba <steve.dower@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:
participants (1)
-
zooba