From: Alessandro Marino on
I'm a beginner and I was trying to write a program to parse recursively all
file names in a directory specified as parameter. The problem is that I get
a "None" printed to stdout when a file is positively matched. While when the
file name doesn't match the regexp the output seems ok.

C:\>c:\python.exe g:\a.py sample
====> foo - bar.txt , first part is: foo
None
skipping: foo.txt

Instead I expect an output like this one:

C:\>c:\python.exe g:\a.py sample
====> foo - bar.txt , first part is: foo
None
skipping: foo.txt

Could anyone help me to figure out why "None" appears in the putput?

Thanks and regards,
Ale
From: Steven D'Aprano on
On Sun, 21 Mar 2010 19:12:18 +0100, Alessandro Marino wrote:

> Could anyone help me to figure out why "None" appears in the putput?

I get:

"Attachment not shown: MIME type application/octet-stream; filename a.py"

Posting attachments to Usenet is tricky. Many newsgroups filter out
anything they think isn't text, or even any attachment at all. Some news
clients do the same thing.

If you have too much code to include directly in your post, then you
should put it up on a website somewhere and just include the link.

Without looking at your code, I'd guess that using regular expressions is
the wrong approach. Perhaps you should look at the glob module, and
possibly os.walk.



--
Steven
From: MRAB on
Alessandro Marino wrote:
> I'm a beginner and I was trying to write a program to
> parse recursively all file names in a directory specified as parameter.
> The problem is that I get a "None" printed to stdout when a file is
> positively matched. While when the file name doesn't match the regexp
> the output seems ok.
>
> C:\>c:\python.exe g:\a.py sample
> ====> foo - bar.txt , first part is: foo
> None
> skipping: foo.txt
>
> Instead I expect an output like this one:
>
> C:\>c:\python.exe g:\a.py sample
> ====> foo - bar.txt , first part is: foo
> None
> skipping: foo.txt
>
> Could anyone help me to figure out why "None" appears in the putput?
>
> Thanks and regards,
> Ale
>
It's caused by:

print saveData(file, m)

The function saveData() returns None, which is then printed.
 | 
Pages: 1
Prev: RSON 0.06 released
Next: device identification