<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 2012/02/21 06:55 AM, Michael Lewis wrote:
    <blockquote
cite="mid:CAE5MWfVdUesHzDG50aB2M3vFWVbCgAOWTnh=zCGGX135b0JB5Q@mail.gmail.com"
      type="cite">
      <div dir="ltr">I am back to being confused. I just tried running
        the module without first importing it, and it worked just fine.
        How do I do this properly to where the module only runs if I
        import it?
        <div><br>
        </div>
        <div>Code:</div>
        <div><br>
        </div>
        <div>
          <div>def MultiplyText(text, multiplier):</div>
          <div>    '''Recieve a S &amp; int. For digits in S, multiply
            by multiplier and return updated S.'''</div>
          <div>    return ' '.join(str(int(num) * multiplier) if
            num.isdigit() else num for num in text)</div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div>def GetUserInput():</div>
          <div>    '''Get S &amp; multiplier. Test multiplier.isdigit().
            Call MultiplyText(text, multiplier)'''</div>
          <div>    text = raw_input('Enter some text: ')</div>
          <div>    while True:</div>
          <div>        multiplier = raw_input('Enter a multiplier: ')</div>
          <div>        try:</div>
          <div>            multiplier = int(multiplier)</div>
          <div>            break</div>
          <div>        except ValueError:</div>
          <div>            continue</div>
          <div>    return MultiplyText(text.split(), multiplier)</div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div>if "__name__" == '__main__':</div>
          <div>    GetUserInput()</div>
          <div><br>
          </div>
          <div>What I did in IDLE:</div>
          <div><br>
          </div>
          <div>
            <div>&gt;&gt;&gt; </div>
            <div>&gt;&gt;&gt; GetUserInput()</div>
            <div>Enter some text: 4 times</div>
            <div>Enter a multiplier: 2</div>
            <div>'8 times'</div>
            <div>&gt;&gt;&gt; </div>
          </div>
          <div><br>
          </div>
          -- <br>
          <div dir="ltr">
            <div>Michael J. Lewis</div>
            <div> </div>
            <div><a moz-do-not-send="true"
                href="mailto:mjolewis@gmail.com" target="_blank">mjolewis@gmail.com</a>
            </div>
            <div>415.815.7257</div>
          </div>
          <br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Tutor maillist  -  <a class="moz-txt-link-abbreviated" href="mailto:Tutor@python.org">Tutor@python.org</a>
To unsubscribe or change subscription options:
<a class="moz-txt-link-freetext" href="http://mail.python.org/mailman/listinfo/tutor">http://mail.python.org/mailman/listinfo/tutor</a></pre>
    </blockquote>
    <br>
    If you change '__main__' to the name of the file, without the
    extension, it will match __name__.<br>
    Alternatively, you can have an else after your `__name__ ==
    '__main__'` <br>
    <br>
    $ cat t1.py<br>
    if __name__ == '__main__':<br>
        print 'Executed from __main__'<br>
    <br>
    if __name__ == 't1':<br>
        print 'Executed by import from t2'<br>
    <br>
    $ cat t2.py<br>
    import t1<br>
    <br>
    $ python t1.py<br>
    Executed from __main__<br>
    <br>
    $ python t2.py<br>
    Executed by import from t2<br>
    <br>
    $ cat t3.py<br>
    if __name__ == '__main__':<br>
        print 'Executed from __main__'<br>
    else:<br>
        print 'Executed by import'<br>
    <br>
    $ cat t4.py<br>
    import t3<br>
    <br>
    $ python t3.py<br>
    Executed from __main__<br>
    <br>
    $ python t4.py<br>
    Executed by import<br>
    <br>
    <div class="moz-signature">-- <br>
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <title>Email Signature</title>
      <style type="text/css">
p { font-size:8.5pt; font-family: Arial, Helvetica, sans-serif; color: #000;}
.subscribe {font-weight:bold; font-style:italic;}
.compuscan {color: #c60c30; letter-spacing:2px; text-transform:uppercase; font-weight:bold}
.green {color:#093;}
</style>
      <p>Christian Witts<br>
        Python Developer<br>
        <br>
        <span class="compuscan">COMPUSCAN | CONFIDENCE IN CREDIT</span>
        <br>
        <br>
        Telephone : +27 21 888 6000<br>
        National Call Centre : 0861 51 41 31<br>
        Fax : +27 21 413 2424<br>
        Email : <a href="mailto:cwitts@compuscan.co.za"
          style="color:#000">cwitts@compuscan.co.za</a><br>
        Website: <a href="http://www.compuscan.co.za"
          style="color:#000">www.compuscan.co.za</a><br>
        <br>
        <span class="subscribe">Would you like to hear more from us? <a
href="http://compuscan.us2.list-manage.com/subscribe?u=b14cacd3a29021ca07d2b32b9&amp;id=163a9926e2"
            style="color:#000">Register here and receive our newsletters
            and other business communications.</a></span><br>
        <br>
        <strong><em>NOTE:</em></strong> This e-mail (including
        attachments) is subject to the disclaimer published at our <a
          href="http://www.compuscan.co.za/about-us/132-email-disclaimer"
          style="color:#000">website</a>. <br>
        If you cannot access the disclaimer, request it from <a
          href="mailto:email.disclaimer@compuscan.co.za"
          style="color:#000">email.disclaimer@compuscan.co.za</a> or
        0861 514131. <br>
        National Credit Regulator Credit Bureau Registration No. NCRCB6
        <br>
        <em class="green">Please consider the environment before
          printing</em></p>
    </div>
  </body>
</html>