Arrange files according to a text file
Emile van Sebille
emile at fenx.com
Sat Aug 27 14:06:22 EDT 2011
On 8/27/2011 10:03 AM Ric at rdo.python.org said...
> Hello,
>
> What would be the best way to accomplish this task?
I'd do something like:
usernames = """Adler, Jack
Smith, John
Smith, Sally
Stone, Mark""".split('\n')
filenames = """Smith, John - 02-15-75 - business files.doc
Random Data - Adler Jack - expenses.xls
More Data Mark Stone files list.doc""".split('\n')
from difflib import SequenceMatcher as SM
def ignore(x):
return x in ' ,.'
for filename in filenames:
ratios = [SM(ignore,filename,username).ratio() for username in
usernames]
best = max(ratios)
owner = usernames[ratios.index(best)]
print filename,":",owner
Emile
> I have many files in separate directories, each file name
> contain a persons name but never in the same spot.
> I need to find that name which is listed in a large
> text file in the following format. Last name, comma
> and First name. The last name could be duplicate.
>
> Adler, Jack
> Smith, John
> Smith, Sally
> Stone, Mark
> etc.
>
>
> The file names don't necessary follow any standard
> format.
>
> Smith, John - 02-15-75 - business files.doc
> Random Data - Adler Jack - expenses.xls
> More Data Mark Stone files list.doc
> etc
>
> I need some way to pull the name from the file name, find it in the
> text list and then create a directory based on the name on the list
> "Smith, John" and move all files named with the clients name into that
> directory.
More information about the Python-list
mailing list