Next we illustrate how to load programs written in a separate file
into Sage. Create a file called example.sage with the following
content:
print "Hello World" print 2^3
You can read in and execute example.sage file using the load
command.
sage: load "example.sage" Hello World 8
You can also attach a Sage file to a running session using
the attach command:
sage: attach "example.sage" Hello World 8
example.sage and enter one blank line into
Sage (i.e., hit ``return''), then the contents of example.sage
will be automatically reloaded into Sage.
In particular, attach has the side effect of auto-reloading, very handy when debugging code, while load does not.
When Sage loads example.sage it converts it to Python,
which is then executed by the Python interpreter. This conversion
is minimal; it mainly involves wrapping integer literals in ZZ(),
floating point literals in RR(), replacing ^'s by **'s,
and replacing e.g., R.2 by R.gen(2).
The converted version of example.sage
is contained in the same directory as example.sage
and is called example.sage.py. This file contains the
following code:
print "Hello World" print ZZ(2)**ZZ(3)
^ is
replaced by a **. (In Python ^ means ``exclusive
or'' and ** means ``exponentiation''.)
Note: This preparsing is implemented in sage/misc/interpreter.py.
You can paste multi-line indented code into Sage as long as
there are newlines to make new blocks (this is not necessary in
files). However, the best way to enter such code into Sage is to save
it to a file and use attach, as described above.
See About this document... for information on suggesting changes.