Program that can find a find a file for you ?
Thomas Guettler
guettli at thomas-guettler.de
Wed Sep 29 09:18:29 EDT 2004
Am Wed, 29 Sep 2004 11:25:39 +0200 schrieb Peter Hansen:
> Greetings.
>
> Im trying to write a program that can be run from the command line.
> If I want to search for example after a file with the ending .pdf, I should
> be able to write in the command line:
> python name of my program / the libary to search and what kind of file it
> is example a .pdf file
> So if my program name was test.py and the library name was library1 and the
> test type i wanted to find was, a .pdf file
> I should write python test.py /library1 .pdf
Hi,
This is something the "find" command does in a unix environment.
Here is my solution:
You could use this:
find.py your_path 'library1.*\.pdf$'
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
# Python Imports
import os
import re
import sys
def usage():
print """Usage: %s path regex
Print all files or directories with match the regex.
See this URL for the syntax of the regular expressions
http://docs.python.org/lib/re-syntax.html
""" % (os.path.basename(sys.argv[0]))
def visit(regex, dirname, names):
for name in names:
p=os.path.join(dirname, name)
if regex.search(p):
print p
def main():
if len(sys.argv)!=3:
usage()
sys.exit(1)
path=sys.argv[1]
regex=sys.argv[2]
os.chdir(path)
regex=re.compile(regex)
os.path.walk(".", visit, regex)
if __name__=="__main__":
main()
More information about the Python-list
mailing list