removing spaces from front and end of filenames
Jeff Epler
jepler at unpythonic.net
Sun Jul 13 12:18:50 EDT 2003
On Sun, Jul 13, 2003 at 08:44:05AM -0700, hokiegal99 wrote:
> Erik Max Francis <max at alcyone.com> wrote in message news:<3F10BABB.D548961B at alcyone.com>...
> > hokiegal99 wrote:
> >
> > > This script works as I expect, except for the last section. I want the
> > > last section to actually remove all spaces from the front and/or end
> > > of
> > > filenames. For example, a file that was named " test " would be
> > > renamed "test" (the 2 spaces before and after the filename removed).
> > > Any
> > > suggestions on how to do this?
> >
> > That's what the .strip method, which is what you're using, does. If
> > it's not working for you you're doing something else wrong.
>
> for root, dirs, files in os.walk('/home/rbt/scripts'):
> for file in files:
> fname = (file)
> fname = fname.strip( )
> print fname
>
> When I print fname, it prints the filenames w/o spaces (a file named "
> test " looks like "test"), but when I ls the actual files in the
> directory they still contain spaces at both ends. That's what I don't
> understand. It seems that .strip is ready to remove the spaces, but
> that it needs one more step to actually do so. Any ideas?
Surely you need to actually rename the file:
for root, dirs, files in os.walk('/home/rbt/scripts'):
for name in files:
newname = name.strip()
if newname != name: os.rename(name, newname)
Jeff
More information about the Python-list
mailing list