Мотивация

Вы когда-нибудь видели учебник с интерактивным кодом Python, подобным этому:

… И хотели получить только тот код, который можно выполнить, как показано ниже?

Удаление всех символов >>> и всех выходных данных может занять много времени, особенно если код длинный. Есть ли способ получить чистые входные данные, как указано выше, в одной строке кода?

Поэтому я создал пакет Стрип-интерактив. В этой статье я покажу вам, как использовать этот пакет для этого.

Чтобы установить strip-interactive, введите:

pip install strip-interactive

Извлечь чистые входные данные

Давайте воспользуемся strip-interactive для извлечения чистых входных данных из интерактивного кода Python:

Выход:

import numpy as np
print(np.array([1,2,3]))
print(np.array([4,5,6]))

Прохладный! Теперь эти чистые входные данные готовы к выполнению.

Выполнить чистые вводы

Чтобы выполнить входные данные, которые мы только что получили от get_clean_code, используйте методexec:

[1 2 3]
[4 5 6]

Если вы предпочитаете выполнять интерактивный код Python за один шаг, используйте метод therun_interactive:

Выход:

[1 2 3]
[4 5 6]

Потрясающие! Использование методаrun_interactive дает те же результаты, что и использование методовget_clean_code и exec.

Это все еще работает, если в моем интерактивном коде есть комментарии?

Я считаю, что да, но лучше проверить это.

Выходы:

[1 2 3]

Отлично, работает!

Когда это не сработает?

Обратите внимание, что выходов не будет, если вы используете run_interactive для кода, как показано ниже:

Поэтому не забудьте добавитьprint к np.array([1,2,3]), чтобы увидеть результаты:

Выход:

[1 2 3]

Заключение

Поздравляю! Вы только что узнали, как выполнить интерактивный код Python в своем скрипте Python в одной строке кода, используя strip-interactive. Это пригодится, когда вы захотите быстро опробовать интерактивный код Python в статье или документации.

Код этой статьи можно найти здесь. Если вы видите, как можно улучшить этот пакет, не стесняйтесь вносить свой вклад или отправлять вопрос здесь.

Мне нравится писать об основных концепциях науки о данных и играть с различными алгоритмами и инструментами анализа данных. Вы могли связаться со мной в LinkedIn и Twitter.

Пометьте это репо, если хотите проверить коды всех написанных мною статей. Следуйте за мной на Medium, чтобы быть в курсе моих последних статей по науке о данных, таких как: