Script Discussion & Critique

hokiegal99 hokiegal99 at hotmail.com
Wed Aug 27 20:54:06 EDT 2003


Something odd that I've discovered about this script is that it won't 
replace strings at the far left side of a text file *unless* the string 
has one or more spaces before it. For example:

THIS (won't be replace with THAT)
  THIS (will be replaced with THAT)
   THIS (will be replaced with THAT)
                        THIS (will be replaced with THAT)


> #Thanks to comp.lang.python
> import os, string
> print " "
> print "******************************************************"
> print "   Three Easy Steps to a Recursive find and Replace   "
> print "******************************************************"
> print " "
> x = raw_input("1. Enter the string that you'd like to find: ")
> print " "
> y = raw_input("2. What would you like to replace %s with: " %x)
> print " "
> setpath = raw_input("3. Enter the path where the prgroam should run: ")
> print " "
> for root, dirs, files in os.walk(setpath):
>    fname = files
>    for fname in files:
>       inputFile = file(os.path.join(root,fname), 'r')
>       data = inputFile.read()
>       inputFile.close()
>       search = string.find(data, x)
>       if search >=1:
>          data = data.replace(x, y)
>          outputFile = file(os.path.join(root,fname), 'w')
>          outputFile.write(data)
>          outputFile.close()
>          print "Replacing", x, "with", y, "in", fname
> print " "
> print "**********"
> print "   Done   "
> print "**********"
> print " "
> 






More information about the Python-list mailing list