Fredrik Lundh wrote: > > this is how things work: Python doesn't distinguish between script > files and module files; a module is simply a script that defines a > bunch of things. > > if you want to create something that can work both as a script and a > module, see: > > http://effbot.org/pyfaq/tutor-what-is-if-name-main-for.htm > > </F>
I still can't understand it. If i rename the 'copy.py' to 'a.py', there will be no problem. As follows: ########################### haiyun# ls copy.py haiyun# python Python 2.4.1 (#2, Mar 28 2006, 21:00:14) [GCC 3.4.2 [FreeBSD] 20040728] on freebsd5 Type "help", "copyright", "credits" or "license" for more information. >>> import SOAPpy usage:copy source destination haiyun# ls copy.py copy.pyc ########################## it seems that the copy.py in the PWD has been interpreted as the SOAPpy module imported. So i rename the copy.py to a.py. As follows: ######################## haiyun# ls copy.py copy.pyc haiyun# rm copy.pyc haiyun# mv copy.py a.py haiyun# ls a.py haiyun# python Python 2.4.1 (#2, Mar 28 2006, 21:00:14) [GCC 3.4.2 [FreeBSD] 20040728] on freebsd5 Type "help", "copyright", "credits" or "license" for more information. >>> import SOAPpy >>> ######################### Everything is all right! The content of the copy.py(a.py) is: ######################### haiyun# cat a.py #!env python usage="usage:copy source destination\n" import sys len=len(sys.argv) if len!=3 : print usage sys.exit() ######################### I guess something in the SOAPpy module conflects with the copy.py in the PWD. So what it happened? >Regards, >jiang.haiyun -- http://mail.python.org/mailman/listinfo/python-list