Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 5, 2011 05:58:47

atomAltera
От:
Зарегистрирован: 2011-07-27
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

Интерактивный режим с предвыполненым кодом

Всем привет :)

Как мне запустить IDLE в интерактивном режиме, так что бы она предварительно выполнила код в некотором файле.py ? можно конечно каждый раз в интерактивном режиме выполнять exec(open(“……”).read()), но это как-то стрёмно. Я хочу это в *.bat файл запихать



Офлайн

#2 Авг. 5, 2011 07:56:02

boltayka
От:
Зарегистрирован: 2009-10-07
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Интерактивный режим с предвыполненым кодом

Первая ссылка в гугле

c:\Python27\pythonw.exe c:\Python27\Lib\idlelib\idle.py
Python27 меняется в зависимости от версии…

Офлайн

#3 Авг. 5, 2011 08:30:25

atomAltera
От:
Зарегистрирован: 2011-07-27
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

Интерактивный режим с предвыполненым кодом

Блин, я не это спросил.

Например у меня есть файл foo.py

class Foo():
def __init__(self, a):
self.a = a

def p(self):
print(self.a)

f1 = Foo('Foo1')
f2 = Foo('Foo2')
Если я хочу использовать Foo, f1 и f2 в интерактивном режиме как если бы я его вводил туда вручную я должен выполнить следующий код:
>>> exec(open('e:/foo.py').read())
и тогда можно их использовать
>>> f1
<__main__.Foo object at 0x00FB38D0>
>>> f1.p()
Foo1
>>>
А я спрашимаю, можно ли запустить скрипт файл так, что бы он автоматически выполнился-бы а по завершению запустился бы интерактивный режим в его нэймспейсе



Отредактировано (Авг. 5, 2011 08:33:38)

Офлайн

#4 Авг. 5, 2011 10:55:26

DISKoRteS
От:
Зарегистрирован: 2011-07-21
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Интерактивный режим с предвыполненым кодом

import foo
foo.f1.p()

from foo import f1
f1.p()



Офлайн

#5 Авг. 5, 2011 11:36:52

atomAltera
От:
Зарегистрирован: 2011-07-27
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

Интерактивный режим с предвыполненым кодом

блин, мне не так надо
если файл находится гдето далеко, мне что, каждый раз полный путь вводить нужно будит? мне уже подсказали на другом форуме, надо запустить idle.pyw -r “e:\foo.py”: выполняется foo.py а дальше можно его тестить в интерактивном режиме. Меня просто этот вариант не сильно устроил, так как idle долго запускается. Теперь я спраиваю как точно также запустить консольный интерпритатор, а не графический



Офлайн

#6 Авг. 5, 2011 15:07:08

pill
От:
Зарегистрирован: 2010-08-27
Сообщения: 223
Репутация: +  0  -
Профиль   Отправить e-mail  

Интерактивный режим с предвыполненым кодом

Хм, а в справку глянуть не судьба?
$python -h

-i : inspect interactively after running script; forces a prompt even
if stdin does not appear to be a terminal; also PYTHONINSPECT=x
#123.py
print 123
a = 10
b = 11
------------

$ python -i 123.py
12345
>>> a
10
>>> b
12
>>>



Офлайн

#7 Авг. 5, 2011 19:43:42

atomAltera
От:
Зарегистрирован: 2011-07-27
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

Интерактивный режим с предвыполненым кодом

pill
Хм, а в справку глянуть не судьба?
$python -h
-i : inspect interactively after running script; forces a prompt even
if stdin does not appear to be a terminal; also PYTHONINSPECT=x
#123.py
print 123
a = 10
b = 11
------------

$ python -i 123.py
12345
>>> a
10
>>> b
12
>>>
Благодарствуем



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version