Using the Python interpreter

Stevie stephen04 at tiscali.co.uk
Wed Apr 18 20:54:53 EDT 2007


On Thu, 19 Apr 2007 01:32:36 +0100, tkpmep at hotmail.com wrote
(in article <1176942756.283173.234750 at n76g2000hsh.googlegroups.com>):

> Instead of starting IDLE as I normally do, I started the Python
> interpreter and tried to run a program. I got a Python prompt (>>>),
> and then tried unsuccessfully to run a Python script named Script1.py
> that runs perfectly well in IDLE. Here's what I did:
> 
>>>> Script1.py
> Traceback (most recent call last):
>   File "<stdin>", line 1, in ?
> NameError: name Script1 is not defined
> 
>>>> python Script1.py
>   File "<stdin>", line 1
>    python Script1.py
> SyntaxError: invalid syntax
> 
> I can load it (and have it execute) by typing
> 
>>>> import Script1
> 0
> 1
> 2
> 3
> 4
> 
> and if I edit it, I can then execute it by reloading it
> 
>>>> import Script1
> 0
> 1
> 2
> 3
> 4
> <module 'Script1' from 'Script1.pyc'>
> 
> But this seems contrived - is there no way to repeatedly run Script1
> from the interpreter without reloading it?
> 
> Thomas Philips
> 

Why dont you wrap the code into a procedure (a def statement) in your script1 
file import it using the from xxx import yyy statement. Then you can use it 
over and over.

By the sounds of it your script is full of inline code that is executed when 
its imported and therefore only runs once. To get it to re-run you have to 
repeatedly import it. Your really should only need to do this under very 
specific circumstances.

Steve




More information about the Python-list mailing list