[Tutor] eval use (directly by interpreter vs with in a script)

Ken G. beachkidken at gmail.com
Mon Nov 3 14:53:04 CET 2014

On 11/03/2014 12:37 AM, Danny Yoo wrote:
>> I use exec to jump to another program within the
>> same directory, such as:
>> execfile("BloodPressure02Sorting.py")
>> and let the program terminate there. Should I do
>> it differently or are you talking about a different
>> horse?
> This is related.
> Rather than use execfile, you may want to consider looking into "modules".
>      https://docs.python.org/2/tutorial/modules.html
> By using the module system, you can call the functions of other files.
> We might think of one of the functions in a file as the main program,
> in which case you should be able to arrange a module approach that
> effectively does what you're doing with execfile.
> Using the module system is often nicer because the functions of
> another module are still just regular functions: it's easy to pass
> along Python values as arguments to tell the next process some
> contextual information.  We can contrast this with an execfile
> approach, where there's not such a nice way of passing on that context
> to the other program.
> The module approach also can "fail faster", in the case that when we
> want to use a module, we "import" it at the head of our main program.
> So if we got the file name wrong, we get fairly immediate feedback
> about our mistake.  In contrast, the execfile approach defers from
> touching the secondary program until we're at the point of the
> execfile call itself.  So if we got the filename wrong, we don't see
> the error as quickly.

Wow! Such an interesting response. Much appreciated. Printing
this out as a reference. Again, thanks.


More information about the Tutor mailing list