help in execfile function

Steven D'Aprano steve at REMOVE-THIS-cybersource.com.au
Thu Sep 4 08:27:44 EDT 2008


On Thu, 04 Sep 2008 05:03:57 -0700, moijes12 wrote:

> Hi
> 
> i have 3 python files and i want to execute the files sequentially using
> the execfile command.Hence ,i have written the following program
> 
> 
> fileList = ["a.py","b.py","c.py"]
> 
> for fileName in fileList  :
>     execfile(fileName)
> 
> however,when i try running it,the program keeps calling execfile on a.py
> and thus an infinite loop is created.I am running this on Windows XP.

Change the line "execfile(fileName)" to "print fileName" and you may 
discover that the problem isn't with execfile but with your code.

Then read about modules and import, and you may discover that there is a 
better way than execfile.


(I wish that eval, exec and execfile were hidden in a module where noobs 
couldn't trip over them and decide they are the answer to every problem. 
Sigh.)


> Please suggest a sloution whereby i can use execfile to execute all
> files in fileList.Please tell me where in my program i may have gone
> wrong.

Looking into my crystal ball, I'm guessing that file a.py contains a line 
that says "execfile('a.py')".

-- 
Steven



More information about the Python-list mailing list