<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
  <title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
Duane Hennessy wrote:<br>
<blockquote type="cite" cite="mid3FBFECE2.7090309@connexus.net.au">Another
way to run python scripts from another script is if the scripts you
want to run are just a consecutive list of commands without a 'main'
function or anything then you can more easily execute them like the
following example...
  <br>
</blockquote>
Realistically guys, I don't like what you are preaching here...<br>
<br>
Yes, python (like most languages) has an exec command, but you really
should not use it when calling more python code. Python already has
methods for obtaining functionality from other <i>modules</i> which
should be used instead.<br>
<br>
Rather than having straight line code in each of your files, split them
up based on what they do in terms of functionality.&nbsp; You will end up
with code that is intrinsically documented by way of meaningful
function calls, rather than the user needing to open secondary modules
to see what they actually do.<br>
<br>
For example:<br>
<pre>file = open("search_engine.py", "r")
exec(file.read())
file.close()
</pre>
Or:<br>
<pre>from search_engine import *
se = SearchEngine(<a class="moz-txt-link-rfc2396E" href="http://www.mysite.com.au/">"http://www.mysite.com.au/"</a>)
se.spider()
se.index()
se.commit()
</pre>
The second example is reasonably obvious to the reader what is going to
happen... but I wouldn't have a clue what my first example does?<br>
<br>
Also, when you need to re-run that part of the script, you need to
reload it into memory which will be slower... much better to import
modules rather than scripts...<br>
<br>
Where you can, split common bits of functionality into modules and
import them, but make sure there is no straight line code in them -
only classes or functions.<br>
<br>
My $0.222 (inc. GST)<br>
<br>
Gary<br>
</body>
</html>