diff options
author | Bo Bayles <bbayles@gmail.com> | 2019-05-29 08:06:12 (GMT) |
---|---|---|
committer | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2019-05-29 08:06:11 (GMT) |
commit | ca804955927dddb6ae5a846dbc0248a932be9a4e (patch) | |
tree | d9cb8069d21b991842d1210e1641a95ebddde912 /Lib/shlex.py | |
parent | f83d1dbd3bfbde940117c85f5c70de00e47b7e6e (diff) | |
download | cpython-ca804955927dddb6ae5a846dbc0248a932be9a4e.zip cpython-ca804955927dddb6ae5a846dbc0248a932be9a4e.tar.gz cpython-ca804955927dddb6ae5a846dbc0248a932be9a4e.tar.bz2 |
bpo-22454: Add shlex.join() (the opposite of shlex.split()) (GH-7605)
Diffstat (limited to 'Lib/shlex.py')
-rw-r--r-- | Lib/shlex.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Lib/shlex.py b/Lib/shlex.py index 2c9786c..fb1130d 100644 --- a/Lib/shlex.py +++ b/Lib/shlex.py @@ -14,7 +14,7 @@ from collections import deque from io import StringIO -__all__ = ["shlex", "split", "quote"] +__all__ = ["shlex", "split", "quote", "join"] class shlex: "A lexical analyzer class for simple shell-like syntaxes." @@ -305,6 +305,11 @@ def split(s, comments=False, posix=True): return list(lex) +def join(split_command): + """Return a shell-escaped string from *split_command*.""" + return ' '.join(quote(arg) for arg in split_command) + + _find_unsafe = re.compile(r'[^\w@%+=:,./-]', re.ASCII).search def quote(s): |