The cog module¶
A synthetic module called cog
provides functions you can call to produce
output into your file. You don’t need to use these functions: with the -P
command-line option, your program’s stdout writes to the output file, so
print() will be enough.
The module contents are:
- cog.out (sOut=’’ [, dedent=False][, trimblanklines=False])
Writes text to the output. sOut is the string to write to the output. If dedent is True, then common initial white space is removed from the lines in sOut before adding them to the output. If trimblanklines is True, then an initial and trailing blank line are removed from sOut before adding them to the output. Together, these option arguments make it easier to use multi-line strings, and they only are useful for multi-line strings:
cog.out(""" These are lines I want to write into my source file. """, dedent=True, trimblanklines=True)
- cog.outl
Same as cog.out, but adds a trailing newline.
- cog.msg (msg)
Prints msg to stdout with a “Message: “ prefix.
- cog.error (msg)
Raises an exception with msg as the text. No traceback is included, so that non-Python programmers using your code generators won’t be scared.
- cog.inFile
An attribute, the path of the input file.
- cog.outFile
An attribute, the path of the output file.
- cog.firstLineNum
An attribute, the line number of the first line of Python code in the generator. This can be used to distinguish between two generators in the same input file, if needed.
- cog.previous
An attribute, the text output of the previous run of this generator. This can be used for whatever purpose you like, including outputting again with cog.out.