Как открыть новую консоль и запустить скрипт python

Вот моя проблема: при запуске скрипта python из командной строки (bash) я хотел бы открыть новое окно консоли, запустить свой скрипт python и оказаться в интерактивной оболочке python. Есть простой способ сделать это?

Предыстория: прямо сейчас я изучаю возвышенный текст 2, разрабатывая простой скрипт Python вместе с numpy. Когда я запускаю сборку из возвышенного, скрипт выполняется, но у меня нет возможности взаимодействовать с результатом.


person Dirk    schedule 31.07.2012    source источник


Ответы (5)


Вам следует рассмотреть возможность использования iPython, оттуда вы сможете запускать сценарии, взаимодействовать с переменными и многое другое.

Вы упомянули, что используете NumPy, iPython предназначен для пользователей, занимающихся научным/числовым анализом.

Если у вас есть свободное время, попробуйте установить блокнот iPython, который, по моему скромному мнению, является лучшим способом взаимодействия с Python.

введите здесь описание изображения

person El Developer    schedule 31.07.2012
comment
python -i делает то, что я хочу, но я также посмотрю на iPython. Благодарность! - person Dirk; 31.07.2012

Вы можете открыть REPL в текущей консоли с помощью модуля code.

person Ignacio Vazquez-Abrams    schedule 31.07.2012

вы пытаетесь создать окно..?

Вы можете попробовать это:

  • вы должны загрузить pygame, а также вашу версию python

Вы должны импортировать pygame и sys для выхода из системы, а затем импортировать из pygame.locals. Вот сценарий

import pygame, sys
from pygame.locals import *

pygame.init()
window = pygame.display.set_mode((x, y)) # use the integer of Width(x) & Height(y) of the window
pygame.display.set_caption('Blank Window')

while True : # game event loop
    for event pygame.event.get(): # we used this, so the window won't 'hang' if we wanna quit the window (event is a variable name so you can named it as you like it)
     if event.type == QUIT:
       pygame.quit()
       sys.exit()
pygame.display.update() # this's for the update of the script

Это все, что я знаю... ^_^ извините за любую ошибку, которую я сделал.. Вы можете свободно спрашивать меня.. Но я предпочитаю, чтобы вы задали этот вопрос эксперту... Я знаю кое-кого, Пожалуйста, ответьте мне как можно скорее, если вы хотите узнать больше ..

person Wian_Kiya    schedule 31.07.2012

Если вы используете Python 3.2, вы можете использовать отладчик Python. В начале вашего проекта import pdb. Затем в тот момент, когда вы хотите войти в интерактивный режим, введите pdb.set_trace(). (Вы должны поставить трассировку на одну строку выше последней строки, иначе программа завершит работу и перезапустится.) Я не знаю, как сделать так, чтобы она автоматически переходила в интерактивный режим, но когда программа доберется до трассировки, консоль войдет в отладчик. Затем вы можете ввести interact и нажать Enter, и вы перейдете в интерактивный режим со всеми сохраненными переменными.

person daviewales    schedule 31.07.2012
comment
Почему для этого требуется Python 3.2? - person dbn; 13.12.2012
comment
Я не знаю. В Python 2.7 есть pdb, но когда я попробовал это в Python 2.7, он не распознал взаимодействие как допустимый ввод. - person daviewales; 14.12.2012

Это было слишком очевидно :) Мне нужно открыть новый терминал gnome или что-то подобное:

gnome-terminal -e "python -i foo.py"

получившийся возвышенный файл конфигурации выглядит так

}
    "cmd": ["gnome-terminal", "-e", "python -i $file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

Нажатие Ctrl + B в возвышенном теперь открывает новое окно консоли, выполняет мой скрипт и оставляет меня в интерактивной оболочке Python.

Остается небольшая проблема, похоже, это не работает с glumpy. Не знаю почему.

person Dirk    schedule 31.07.2012