Re: change extensions
Tim Roberts wrote: Bob Then [EMAIL PROTECTED] wrote: how can i change all files from one extension to another within a direcory? In Windows, the quickest way is: os.system( rename *.old *.new ) I have a vague memory that this won't work on all versions of Windows... possibly it isn't supported on Win98? That may not be quite right, but I recall problems doing this in the past. (Or was it just DOS that failed?) -Peter -- http://mail.python.org/mailman/listinfo/python-list
Re: change extensions
Bob Then [EMAIL PROTECTED] wrote: how can i change all files from one extension to another within a direcory? In Windows, the quickest way is: os.system( rename *.old *.new ) -- - Tim Roberts, [EMAIL PROTECTED] Providenza Boekelheide, Inc. -- http://mail.python.org/mailman/listinfo/python-list
Re: change extensions
Bob Then wrote: how can i change all files from one extension to another within a direcory? Using Jason Orendorff's path.py module: # change all .py files in '.' to extension .new from path import path for f in path('.').files(): if f.endswith('.py'): f.rename(f.splitext()[0] + '.new') Don't try the above in a folder containing useful Python files! ;-) -Peter -- http://mail.python.org/mailman/listinfo/python-list
RE: change extensions
That approach works, but so does this one. import os, glob input_file_list = glob.glob('*.txt') for in_file in input_file_list: name = in_file.split('.') os.rename(in_file, str(name[0]) + '.' + 'text')) # I could have put the text extension with the period but if you use a variable (string) for the extension then you can't -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Peter Hansen Sent: Tuesday, April 05, 2005 10:35 AM To: python-list@python.org Subject: Re: change extensions Bob Then wrote: how can i change all files from one extension to another within a direcory? Using Jason Orendorff's path.py module: # change all .py files in '.' to extension .new from path import path for f in path('.').files(): if f.endswith('.py'): f.rename(f.splitext()[0] + '.new') Don't try the above in a folder containing useful Python files! ;-) -Peter -- http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list
Re: change extensions
On Apr 5, 2005 10:43 AM, Jeffrey Maitland [EMAIL PROTECTED] wrote: That approach works, but so does this one. import os, glob input_file_list = glob.glob('*.txt') for in_file in input_file_list: name = in_file.split('.') os.rename(in_file, str(name[0]) + '.' + 'text')) you should really use in_file.splitext - your script renames myfile.with.lots.of.dots.txt to myfile.text instead of myfile.with.lots.of.dots.text . If you *really* wanted to use split(), it oughta be ''.join(in_file.split('.')[:-1]) , but why not use the built-in? Peace Bill Mill bill.mill at gmail.com -- http://mail.python.org/mailman/listinfo/python-list
Re: change extensions
Bob Then wrote: how can i change all files from one extension to another within a direcory? Using os.listdir, os.path.split and os.rename. -- Gerhard -- http://mail.python.org/mailman/listinfo/python-list
Re: change extensions
Bob Then wrote: how can i change all files from one extension to another within a direcory? This should work: import os def change_exts(suffix, new_suffix, dir_name): for name in os.listdir(dir_name): if name.endswith(suffix): old_pathname = os.path.join(dir_name, name) new_pathname = old_pathname[:-len(suffix)] + new_suffix os.rename(old_pathname, new_pathname) David. -- http://mail.python.org/mailman/listinfo/python-list