[Tutor] function vs module

Chris Kassopulo ckasso@sprynet.com
Thu, 5 Sep 2002 22:22:36 -0400


This is a multi-part message in MIME format.

--Multipart_Thu__5_Sep_2002_22:22:36_-0400_0827b9d8
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Greetings,

I'm working on some scripts that output stuff to the screen.  For
example, the attached script, list_modules.py formats and outputs
a list of builtin modules.  When I convert it to ListModules.py
to use a module, ListColumns.py I get:

$ /home/ckasso/python/scripts/AsciiChart.py
Traceback (most recent call last):
  File "/home/ckasso/python/scripts/AsciiChart.py", line 50, in ?
    ListColumns.ListColumns(AsciiList)
  File "/home/ckasso/python/scripts/ListColumns.py", line 18, in
ListColumns
    if ReturnFlag == 0:
NameError: global name 'ReturnFlag' is not defined

ReturnFlag = 0 at the beginning of ListColumns gets around the
error, but I can't set it there.  The intention is that scripts
that use ListColumns will set the flag and ListColumns just reads
it.  I thought that making ReturnFlag global in ListColumns would 
work, but it doesn't.
 
Could someone shed some light on this please. 

Thanks,
                
Chris Kassopulo
Python 2.2.1 (#1, Apr 11 2002, 15:27:15)
               






--Multipart_Thu__5_Sep_2002_22:22:36_-0400_0827b9d8
Content-Type: application/octet-stream;
 name="list_modules.py"
Content-Disposition: attachment;
 filename="list_modules.py"
Content-Transfer-Encoding: base64

IyEgL3Vzci9iaW4vZW52IHB5dGhvbgoKZGVmIExpc3RDb2x1bW5zKE1lbnVJdGVtcyxOdW1iZXJv
ZkNvbHVtbnM9NCk6CgoJIyBKdXN0aWZ5IGFuZCBvdXRwdXQgYSBsaXN0IG9mIHN0cmluZ3MgaW4g
Y29sdW1ucyBmcm9tIGxlZnQgdG8gcmlnaHQKCQoJaW1wb3J0IHN0cmluZwoJCgkjIGluaXRpYWxp
emUKCVJldHVybkZsYWcgPSAwCglDdXJyZW50Q29sdW1uID0gMQoKCSMgbGVuZ3RoIG9mIGxvbmdl
c3Qgc3RyaW5nIGZvciBjb2x1bW4gd2lkdGgKCUxvbmdlc3RMZW5ndGggPSBtYXgoW2xlbihpdGVt
KSBmb3IgaXRlbSBpbiBNZW51SXRlbXNdKQoKCSMgb3V0cHV0IHRoZSBsaXN0Cglmb3IgaXRlbSBp
biBNZW51SXRlbXM6CgkKCQkjIG91dHB1dCBpcyB0byBiZSBwcmludGVkCgkJaWYgUmV0dXJuRmxh
ZyA9PSAwOgoJCQoJCQkjIGp1c3RpZnkgYW5kIG91dHB1dCB0aGUgbGlzdCB0byBjb25zb2xlCgkJ
CWlmIEN1cnJlbnRDb2x1bW4gPCBOdW1iZXJvZkNvbHVtbnM6CgkJCQlwcmludCBzdHJpbmcubGp1
c3QoaXRlbSxMb25nZXN0TGVuZ3RoKSwnfCcsCgkJCQlDdXJyZW50Q29sdW1uICs9IDEKCQkJZWxz
ZToKCQkJCXByaW50IHN0cmluZy5sanVzdChpdGVtLExvbmdlc3RMZW5ndGggKyAxKQoJCQkJQ3Vy
cmVudENvbHVtbiA9IDEKCQkJCQoJCSMgYnVpbGQgYSBuZXcgbGlzdCB3aXRoIGp1c3RpZmllZCBh
bmQgcGFkZGVkIHN0cmluZ3MKCQllbHNlOiBSZXR1cm5MaXN0LmFwcGVuZChzdHJpbmcubGp1c3Qo
aXRlbSxMb25nZXN0TGVuZ3RoICsgMSkpCgkJCQoJIyByZXR1cm4gdGhlIG5ldyBsaXN0CglpZiBS
ZXR1cm5GbGFnID09IDE6CXJldHVybiBSZXR1cm5MaXN0CgojIGxpc3RfbW9kdWxlcy5weQojIGZv
cm1hdCBhbmQgbGlzdCBidWlsdGluIG1vZHVsZXMKCmltcG9ydCBzeXMKCiMgZ2V0IHRoZSBsaXN0
Ck1vZHVsZU5hbWVzID0gKHN5cy5idWlsdGluX21vZHVsZV9uYW1lcykKCiMgcGFzcyBmb3IgcHJv
Y2Vzc2luZwpMaXN0Q29sdW1ucyhNb2R1bGVOYW1lcykK

--Multipart_Thu__5_Sep_2002_22:22:36_-0400_0827b9d8
Content-Type: application/octet-stream;
 name="ListModules.py"
Content-Disposition: attachment;
 filename="ListModules.py"
Content-Transfer-Encoding: base64

IyEgL3Vzci9iaW4vZW52IHB5dGhvbgoKIyBMaXN0TW9kdWxlcy5weQojIGZvcm1hdCBhbmQgbGlz
dCBidWlsdGluIG1vZHVsZXMKCmltcG9ydCBzeXMKaW1wb3J0IExpc3RDb2x1bW5zCgojIGdldCB0
aGUgbGlzdApNb2R1bGVOYW1lcyA9IChzeXMuYnVpbHRpbl9tb2R1bGVfbmFtZXMpCgojIHBhc3Mg
Zm9yIHByb2Nlc3NpbmcKTGlzdENvbHVtbnMuTGlzdENvbHVtbnMoTW9kdWxlTmFtZXMpCg==

--Multipart_Thu__5_Sep_2002_22:22:36_-0400_0827b9d8
Content-Type: application/octet-stream;
 name="ListColumns.py"
Content-Disposition: attachment;
 filename="ListColumns.py"
Content-Transfer-Encoding: base64

ZGVmIExpc3RDb2x1bW5zKE1lbnVJdGVtcyxOdW1iZXJvZkNvbHVtbnM9NCk6CgoJIyBMaXN0Q29s
dW1ucy5weQoJIyBqdXN0aWZ5IGFuZCBvdXRwdXQgYSBsaXN0IG9mIHN0cmluZ3MgaW4gY29sdW1u
cyBmcm9tIGxlZnQgdG8gcmlnaHQKCQoJaW1wb3J0IHN0cmluZwoJCgkjIGluaXRpYWxpemUKCUN1
cnJlbnRDb2x1bW4gPSAxCgoJIyBsZW5ndGggb2YgbG9uZ2VzdCBzdHJpbmcgZm9yIGNvbHVtbiB3
aWR0aAoJTG9uZ2VzdExlbmd0aCA9IG1heChbbGVuKGl0ZW0pIGZvciBpdGVtIGluIE1lbnVJdGVt
c10pCgoJIyBvdXRwdXQgdGhlIGxpc3QKCWZvciBpdGVtIGluIE1lbnVJdGVtczoKCQoJCSMgb3V0
cHV0IGlzIHRvIGJlIHByaW50ZWQKCQlpZiBSZXR1cm5GbGFnID09IDA6CgkJCgkJCSMganVzdGlm
eSBhbmQgb3V0cHV0IHRoZSBsaXN0IHRvIGNvbnNvbGUKCQkJaWYgQ3VycmVudENvbHVtbiA8IE51
bWJlcm9mQ29sdW1uczoKCQkJCXByaW50IHN0cmluZy5sanVzdChpdGVtLExvbmdlc3RMZW5ndGgp
LCd8JywKCQkJCUN1cnJlbnRDb2x1bW4gKz0gMQoJCQllbHNlOgoJCQkJcHJpbnQgc3RyaW5nLmxq
dXN0KGl0ZW0sTG9uZ2VzdExlbmd0aCArIDEpCgkJCQlDdXJyZW50Q29sdW1uID0gMQoJCQkJCgkJ
IyBidWlsZCBhIG5ldyBsaXN0IHdpdGgganVzdGlmaWVkIGFuZCBwYWRkZWQgc3RyaW5ncwoJCWVs
c2U6IFJldHVybkxpc3QuYXBwZW5kKHN0cmluZy5sanVzdChpdGVtLExvbmdlc3RMZW5ndGggKyAx
KSkKCQkJCgkjIHJldHVybiB0aGUgbmV3IGxpc3QKCWlmIFJldHVybkZsYWcgPT0gMToJcmV0dXJu
IFJldHVybkxpc3QK

--Multipart_Thu__5_Sep_2002_22:22:36_-0400_0827b9d8--