Импорт модуля Python от Bash

Я запускаю сценарий Python из командной строки (Bash) в соответствии с Linux. Я должен открыть Python, импортировать модуль, и затем интерпретировать строки кода. Консоль должна затем остаться в Python (не, выходит из него). Как я делаю это?

Я попробовал псевдоним как этот:

alias program="cd /home/myname/programs/; python; import module; line_of_code"

Но это только запускает Python, и команды не выполняются (никакой импорт модуля, никакая строка кода не рассматривала).

Каков надлежащий способ сделать это, если я должен сохранить Python открытым (не, выходит из него) после того, как сценарий выполняется?Большое спасибо!

10
задан Morlock 5 February 2019 в 17:00
поделиться

3 ответа

Простой способ сделать это - с помощью модуля "code":

python -c "import code; code.interact(local=locals())"

Это перебросит вас в интерактивную оболочку при вызове code.interact(). Аргумент local ключевого слова interact используется для предварительного заполнения пространства имен по умолчанию для создаваемого интерпретатора; мы будем использовать locals(), которая является встроенной функцией, возвращающей локальное пространство имен в виде словаря.

Ваша команда будет выглядеть примерно так:

python -c "import mymodule, code; code.interact(local=locals())"

что приведет вас в интерпретатор с правильным окружением.

8
ответ дан 3 December 2019 в 20:04
поделиться

Пример:

python -c "import time ; print 'waiting 2 sec.'; time.sleep(2); print 'finished' "
3
ответ дан 3 December 2019 в 20:04
поделиться

использовать подпрограмму вместо псевдонима

callmyprogram(){
  python -i -c "import time;print time.localtime()"
}
callmyprogram
8
ответ дан 3 December 2019 в 20:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: