2013-06-11 2 views
4

Я пытаюсь сохранить файл python, который загрузил в свой IPython ноутбук с помощью магии %loadpy. Когда я пытаюсь сохранить файл с %save settings.py я получаю следующее сообщение об ошибке:IPython% save magic error

File `settings.py` exists. Use `%save -f 'settings.py' -f` to force overwrite 

Тогда, когда я использую %save -f 'settings.py' -f я получаю ошибку:

'-f' was not found in history, as a file, url, nor in the user namespace. 

%save -f 'settings.py' yeilds ошибку '' was not found in history, as a file, url, nor in the user namespace., а также.

Любая идея, как правильно сохранить файл .py, чтобы он перезаписывал предыдущую версию? Благодаря!

ответ

7
In [13]: %save -f settings.py 1-10 # saves lines 1 to 10 to settings.py 
In [14]: %save? # Gives you the help on the save command 


Usage: 
    %save [options] filename n1-n2 n3-n4 ... n5 .. n6 ... 

n1-n2, n3-n4 - это диапазоны линий, которые вы хотите сохранить. n5, n6 - отдельные номера строк, которые вы хотите сохранить. Добавить параметр -f для принудительного сохранения.

+0

Спасибо за ваш ответ. Есть ли способ ссылаться на камеру, в которой она выполняется? Я спрашиваю, потому что я пытаюсь сделать учебник, и блокировка '% save' в конкретной строке сохранит неправильный код, если ячейки выполняются не по порядку/или ячейкам, прежде чем они будут выполняться несколько раз. – agconti

+0

Я не уверен, что есть способ сделать это. – punchagan

+0

Поскольку я разместил вопрос, я просматривал документацию и исходный код и не нашел ничего для этого. На самом деле, что я хотел сделать, я задам новый вопрос, чтобы его более ясное, что я ищу. Спасибо за ваш ответ (+1). – agconti

-1

Для ответа на конкретный вопрос, можно использовать флаг -f, чтобы заставить перезаписать файл, как показано в %save помощи:

-f: force overwrite. If file exists, %save will prompt for overwrite unless -f is given.

Сингл % связанные с IPython линии волшебной. В этом случае сохраняются только некоторые строки ячейки. Любая комбинация линий и их сохранение.

Если вместо этого вы хотите сохранить всю ячейку в файл, вы можете использовать магическую команду IP-мануала 10. См. То, что %%writefile имеет два процента знаков %%, что означает, что команда представляет собой команду cell magic, которая применяется ко всей ячейке.