Найти - Пользователи
Полная версия: Интерактивный режим с предвыполненым кодом
Начало » Python для новичков » Интерактивный режим с предвыполненым кодом
1
atomAltera
Всем привет :)

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

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

Например у меня есть файл 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
>>>
А я спрашимаю, можно ли запустить скрипт файл так, что бы он автоматически выполнился-бы а по завершению запустился бы интерактивный режим в его нэймспейсе
DISKoRteS
import foo
foo.f1.p()

from foo import f1
f1.p()
atomAltera
блин, мне не так надо
если файл находится гдето далеко, мне что, каждый раз полный путь вводить нужно будит? мне уже подсказали на другом форуме, надо запустить idle.pyw -r “e:\foo.py”: выполняется foo.py а дальше можно его тестить в интерактивном режиме. Меня просто этот вариант не сильно устроил, так как idle долго запускается. Теперь я спраиваю как точно также запустить консольный интерпритатор, а не графический
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
>>>
atomAltera
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
>>>
Благодарствуем
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB