Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #73314 > unrolled thread

Re: line to argv transformation

Started byTim Chase <python.list@tim.thechases.com>
First post2014-06-16 05:51 -0500
Last post2014-06-16 05:51 -0500
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: line to argv transformation Tim Chase <python.list@tim.thechases.com> - 2014-06-16 05:51 -0500

#73314 — Re: line to argv transformation

FromTim Chase <python.list@tim.thechases.com>
Date2014-06-16 05:51 -0500
SubjectRe: line to argv transformation
Message-ID<mailman.11085.1402917709.18130.python-list@python.org>
On 2014-06-16 20:41, Chris Angelico wrote:
> Oops! I made the cardinal error of trying in one and assuming it'd
> work in both. Just needs a b prefix on the split string:
> 
> def shell_split(cmd):
>     return subprocess.check_output("""python -c 'import sys;
> print("\\0".join(sys.argv[1:]))'
> """+cmd,shell=True)[:-1].split(b"\0")
> 
> You'll get back a list of byte strings, in any case. Feel free to
> pass them through a decode operation, or to incorporate a .decode()
> into the above stream, as you wish.

Tested on Win32?  The behavior of "shell expansion" on Windows
cmd.exe differs from most *nix shells (i.e., it *doesn't* expand, so
you have to do it yourself), so Antoon would need to describe the
desired behavior on Win32.

-tkc

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web