Ashlex instance has the following methods:
| ) |
'')in non-POSIX mode, andNone in POSIX mode).| str) |
| ) |
| filename) |
Normally, this method first strips any quotes off the argument. Ifthe result is an absolute pathname, or there was no previous sourcerequest in effect, or the previous source was a stream(such assys.stdin), the result is left alone. Otherwise, if theresult is a relative pathname, the directory part of the name of thefile immediately before it on the source inclusion stack is prepended(this behavior is like the way the C preprocessor handles#include "file.h").
The result of the manipulations is treated as a filename, and returnedas the first component of the tuple, withopen() called on it to yield the second component. (Note:this is the reverse of the order of arguments in instance initialization!)
This hook is exposed so that you can use it to implement directorysearch paths, addition of file extensions, and other namespace hacks.There is no corresponding `close' hook, but a shlex instance will calltheclose() method of the sourced input stream when itreturns EOF.
For more explicit control of source stacking, use thepush_source() andpop_source() methods.
| stream[, filename]) |
| ) |
| [file[, line]]) |
'"%s", line %d: ',where the "%s" is replaced with the name of the current sourcefile and the "%d" with the current input line number (theoptional arguments can be used to override these).This convenience is provided to encourageshlex users togenerate error messages in the standard, parseable format understoodby Emacs and otherUnix tools.
Instances ofshlex subclasses have some public instancevariables which either control lexical analysis or can be used fordebugging:
True, tokens will only be split in whitespaces. This is useful, forexample, for parsing command lines withshlex, getting tokensin a similar way to shell arguments.New in version 2.3.None by default. If you assign a string to it,that string will be recognized as a lexical-level inclusion requestsimilar to the "source" keyword in various shells. That is, theimmediately following token will opened as a filename and input takenfrom that stream until EOF, at which point theclose()method of that stream will be called and the input source will againbecome the original input stream. Source requests may be stacked anynumber of levels deep.1 or more, ashlexinstance will print verbose progress output on its behavior. If youneed to use this, you can read the module source code to learn thedetails.''), in non-POSIX mode, and toNone inPOSIX mode.New in version 2.3.