searching for files on Windows with Python

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Shane

    #1

    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(filen ame, pathToSearch):
    ...
    ...
    return foundFileNames

    Is the os module where I should start?

    Thanks,

    Shane
  • Dennis Benzinger

    #2
    Re: searching for files on Windows with Python

    Shane schrieb:[color=blue]
    > 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(filen ame, pathToSearch):
    > ...
    > ...
    > return foundFileNames
    >
    > Is the os module where I should start?
    > [...][/color]

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

    Bye,
    Dennis

    Comment

    • Dennis Benzinger

      #3
      Re: searching for files on Windows with Python

      Shane schrieb:[color=blue]
      > 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(filen ame, pathToSearch):
      > ...
      > ...
      > return foundFileNames
      >
      > Is the os module where I should start?
      > [...][/color]

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

      Bye,
      Dennis

      Comment

      • Kent Johnson

        #4
        Re: searching for files on Windows with Python

        Shane wrote:[color=blue]
        > 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(filen ame, pathToSearch):
        > ...
        > ...
        > return foundFileNames
        >
        > Is the os module where I should start?[/color]

        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(pathT oSearch).walkfi les(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

        Comment

        • Kent Johnson

          #5
          Re: searching for files on Windows with Python

          Shane wrote:[color=blue]
          > 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(filen ame, pathToSearch):
          > ...
          > ...
          > return foundFileNames
          >
          > Is the os module where I should start?[/color]

          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(pathT oSearch).walkfi les(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

          Comment

          • Peter Hansen

            #6
            Re: searching for files on Windows with Python

            Kent Johnson wrote:[color=blue]
            > 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(pathT oSearch).walkfi les(filename)[/color]

            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

            Comment

            • Peter Hansen

              #7
              Re: searching for files on Windows with Python

              Kent Johnson wrote:[color=blue]
              > 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(pathT oSearch).walkfi les(filename)[/color]

              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

              Comment

              • Kent Johnson

                #8
                Re: searching for files on Windows with Python

                Peter Hansen wrote:[color=blue]
                > Kent Johnson wrote:[color=green]
                >> import path
                >> files = path.path(pathT oSearch).walkfi les(filename)[/color]
                >
                > 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.[/color]

                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

                Comment

                • Kent Johnson

                  #9
                  Re: searching for files on Windows with Python

                  Peter Hansen wrote:[color=blue]
                  > Kent Johnson wrote:[color=green]
                  >> import path
                  >> files = path.path(pathT oSearch).walkfi les(filename)[/color]
                  >
                  > 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.[/color]

                  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

                  Comment

                  Working...