newbie question; output from simple print statement

Paul Watson pwatson at redlinepy.com
Fri Aug 5 11:51:35 EDT 2005


epost2 at gmail.com wrote:
> Can someone explain to me the output of this simple script? I wonder
> why ['test1.txt'] is printed before "files in c:\", and also why None
> shows up?
> 
> ________________
> in file test.py:
> 
> def main():
> 
>     print "files in c:\ :%s"  % ListFiles("c:\")
> 
> def ListFiles(path):
>     for root,dirs,files in os.walk(path):
>        print files
> 
> if __name__ == "__main__":
>     main():
> 
> ________________
> output:
> 
> C:\> python test.py
> ['test1.txt']
> files in c:\ :None

The function ListFiles() is being called first.  This produces the 
result that will be used to replace the %s of the print statement.  In 
this case, the return value is None, so nothing is printed.

How to Think Like a Computer Scientist
http://www.ibiblio.org.obp/thinkCSpy/



More information about the Python-list mailing list