Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   searching for files on Windows with Python (http://www.velocityreviews.com/forums/t351602-searching-for-files-on-windows-with-python.html)

=?iso-8859-4?Q?Shane?= 11-17-2005 01:35 PM

searching for files on Windows with Python
 
I've been giving Google a good workout with no luck. I would like to be able to search a Windows filesystem for filenames, returning a list off absolute paths to the found files, something like:

def findFiles(filename, pathToSearch):
...
...
return foundFileNames

Is the os module where I should start?

Thanks,

Shane

Dennis Benzinger 11-17-2005 01:59 PM

Re: searching for files on Windows with Python
 
Shane schrieb:
> I've been giving Google a good workout with no luck. I would like to be able to search a Windows filesystem for filenames, returning a list off absolute paths to the found files, something like:
>
> def findFiles(filename, pathToSearch):
> ...
> ...
> return foundFileNames
>
> Is the os module where I should start?
> [...]


Yes, especially the os.walk() function should help you.

Bye,
Dennis

Kent Johnson 11-17-2005 09:10 PM

Re: searching for files on Windows with Python
 
Shane wrote:
> I've been giving Google a good workout with no luck. I would like to
> be able to search a Windows filesystem for filenames, returning a
> list off absolute paths to the found files, something like:>
> def findFiles(filename, pathToSearch):
> ...
> ...
> return foundFileNames
>
> Is the os module where I should start?


I always use Jason Orendorff's path module for this kind of stuff. It's way easier to use than os.whatever:

import path
files = path.path(pathToSearch).walkfiles(filename)

will give a list of path.path objects in pathToSearch whose names match filename (which is a glob so wildcards are recognized).

path.path is a subclass of str so the results can be used wherever you want the full path.

http://www.jorendorff.com/articles/p...ath/index.html

Kent

Peter Hansen 11-18-2005 04:02 AM

Re: searching for files on Windows with Python
 
Kent Johnson wrote:
> I always use Jason Orendorff's path module for this kind of stuff. It's
> way easier to use than os.whatever:
>
> import path
> files = path.path(pathToSearch).walkfiles(filename)


A minor enhancement (IMHO) (though I certainly agree with Kent's
recommendation here): since there is nothing else of interest in the
"path" module, it seems to be a fairly common idiom to do "from path
import path" and skip the doubled "path.path" bit.

-Peter

Kent Johnson 11-19-2005 10:51 PM

Re: searching for files on Windows with Python
 
Peter Hansen wrote:
> Kent Johnson wrote:
>> import path
>> files = path.path(pathToSearch).walkfiles(filename)

>
> A minor enhancement (IMHO) (though I certainly agree with Kent's
> recommendation here): since there is nothing else of interest in the
> "path" module, it seems to be a fairly common idiom to do "from path
> import path" and skip the doubled "path.path" bit.


Certainly it's your choice. I find most programs using path only reference path.path once, to create a starting path; other paths are created from that using files() or / etc. In this case it is less typing to say

import path
basePath = path.path(...)

instead of

from path import path
basePath = path(...)

from path import path only wins on number of chars if you reference path *three* times.

YMMV :-)

Kent


All times are GMT. The time now is 07:04 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.