22.2 shlex -- Simple lexical analysis

New in version 1.5.2.

The shlex class makes it easy to write lexical analyzers for simple syntaxes resembling that of the Unix shell. This will often be useful for writing minilanguages, (for example, in run control files for Python applications) or for parsing quoted strings.

Note: The shlex module currently does not support Unicode input.

The shlex module defines the following functions:

split( s[, comments])
Split the string s using shell-like syntax. If comments is False (the default), the parsing of comments in the given string will be disabled (setting the commenters member of the shlex instance to the empty string). This function operates in POSIX mode. New in version 2.3. Note: Since the split() function instantiates a shlex instance, passing None for s will read the string to split from standard input.

The shlex module defines the following class:

class shlex( [instream[, infile[, posix]]])
A shlex instance or subclass instance is a lexical analyzer object. The initialization argument, if present, specifies where to read characters from. It must be a file-/stream-like object with read() and readline() methods, or a string (strings are accepted since Python 2.3). If no argument is given, input will be taken from sys.stdin. The second optional argument is a filename string, which sets the initial value of the infile member. If the instream argument is omitted or equal to sys.stdin, this second argument defaults to ``stdin''. The posix argument was introduced in Python 2.3, and defines the operational mode. When posix is not true (default), the shlex instance will operate in compatibility mode. When operating in POSIX mode, shlex will try to be as close as possible to the POSIX shell parsing rules. See section 22.2.1.

See Also:

Module ConfigParser:
Parser for configuration files similar to the Windows .ini files.

See About this document... for information on suggesting changes.