py30.png py25.png

Dotaz z fora:

Zdravim. Mám takový problém. Zajímá mě, jak je možné za běhu přepnout script v Pythonu do interaktivního režimu, například po vyhodnocení nějaké podmínky a po jeho ukončení opět pokračovat v normálním běhu. Budu rád za všechny reakce. Díky.

Odpověď

import code
code.interact()
#pokud si to dobře pamatuji

Interaktivní shell má samozřejmě svůj namespace (v některých případech je to i nutné), který je ve výchozím stavu prázdný, pokud uživatel neurčí jinak. Vy mu pouze musíte předat Váš globální/lokální namespace a to už je triviální:

code.interact(None, None, locals())

případně pro globální namespace

code.interact(None, None, globals())