Как передать скрипт в Sage, прежде чем запускать его в интерактивном режиме? - PullRequest
0 голосов
/ 20 февраля 2020

В моем рабочем процессе Python я обычно использую флаг -i, чтобы открыть интерпретатор Python, который сначала выполняет скрипт, над которым я работаю, а затем позволяет мне взаимодействовать с ним. Например, в test.py:

#!/usr/bin/env python
print("Hello World")
x=2

Когда я запускаю python -i test.py из командной строки, я получаю следующий вывод:

Hello World!
>>> 

Интерактивный режим включен, но все определения, сделанные в сценарии, доступны для меня. Набрав x, вы получите 2.

Есть ли аналогичный процесс для Sagemath? Я пробовал флаг -c, но команда sage -c "attach('test.sage')" не может войти в интерактивный режим после загрузки модуля, над которым я работаю.

В идеале было бы решение, более простое, чем то, которое обрисовано в общих чертах , которое использует expect, но если это действительно лучшее решение, как можно go использовать expect, чтобы Sagemath начал интерактивный сеанс после загрузки указанного c файла?

1 Ответ

0 голосов
/ 21 марта 2020

Для каждого интерактивного сеанса Sage вы можете создать файл запуска с именем init.sage. См. этот FAQ и эту документацию . Это то, что вы ищете? Вы правы, что sage -c только вычисляет.

...