classification
Title: [Windows] support args and cwd in os.startfile()
Type: enhancement Stage: resolved
Components: Extension Modules, Windows Versions: Python 3.10
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: steve.dower Nosy List: eryksun, jkloth, paul.moore, steve.dower, tim.golden, zach.ware
Priority: normal Keywords: patch

Created on 2021-03-18 07:23 by eryksun, last changed 2021-04-23 17:04 by steve.dower. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 25538 merged steve.dower, 2021-04-22 20:52
Messages (3)
msg388991 - (view) Author: Eryk Sun (eryksun) * (Python triager) Date: 2021-03-18 07:23
bpo-8232 has a patch to add an `arguments` parameter to os.startfile(). This improvement is needlessly tied to that issue. It's useful in general as a safer way to execute applications and scripts compared to using subprocess.Popen() with shell=True. It also enables passing arguments to applications and scripts when using the "runas" operation (prompts with a UAC dialog) and "runasuser" operation (prompts with a credential dialog). The latter operations are supported by default for binary executables and batch scripts in Windows 10, and they can be implemented by the progid of any file type.

Setting the working directory with a cwd parameter is not as generally useful, but it's not entirely useless and simple to add at the same time when adding the `args` parameter.
msg391633 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2021-04-22 20:56
Not rushing this one in, but this is a relatively straightforward addition that will definitely be handy in some situations.

I didn't bother adding an enum for the SW_* constants, since I don't think they'll get anywhere near enough use to justify being in our public API. Kind of like error codes, which we already don't expose everywhere even though we use them ourselves as raw numbers.
msg391709 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2021-04-23 17:03
New changeset 019e9e816882f5c43c4b833f81844b8299e815fd by Steve Dower in branch 'master':
bpo-43538: Add extra arguments to os.startfile (GH-25538)
https://github.com/python/cpython/commit/019e9e816882f5c43c4b833f81844b8299e815fd
History
Date User Action Args
2021-04-23 17:04:20steve.dowersetstatus: open -> closed
resolution: fixed
stage: patch review -> resolved
2021-04-23 17:03:21steve.dowersetmessages: + msg391709
2021-04-22 20:56:44steve.dowersetassignee: steve.dower
messages: + msg391633
2021-04-22 20:52:50steve.dowersetkeywords: + patch
stage: patch review
pull_requests: + pull_request24258
2021-03-22 13:49:02jklothsetnosy: + jkloth
2021-03-18 07:25:52eryksunlinkissue8232 dependencies
2021-03-18 07:23:53eryksuncreate