os.stat() distorts filenames that end with period (nt.stat())
ruck
john.ruckstuhl at gmail.com
Thu Sep 6 21:54:19 EDT 2012
On Thursday, September 6, 2012 6:19:11 PM UTC-7, Dave Angel wrote:
> On 09/06/2012 08:55 PM, ruck wrote:
>
> > (This with Python 2.7.2 on Windows 7)
>
> >
>
> > os.stat() won't recognize a filename ending in period.
>
> > It will ignore trailing periods.
>
> > If you ask it about file 'goo...' it will report on file 'goo'
>
> > And if 'goo' doesn't exist, os.stat will complain.
>
> >
>
> > create file goo, then
>
> >
>
> > >>> os.stat('goo')
>
> > nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=0L, st_atime=1346978160L, st_mtime=1346978160L, st_ctime=1346978160L)
>
> > >>> os.stat('goo...')
>
> > nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=0L, st_atime=1346978160L, st_mtime=1346978160L, st_ctime=1346978160L)
>
> >
>
> > rename goo to "goo...", then,
>
> >
>
> > >>> os.stat('goo...')
>
> >
>
> > Traceback (most recent call last):
>
> > File "<pyshell#16>", line 1, in <module>
>
> > os.stat('goo...')
>
> > WindowsError: [Error 2] The system cannot find the file specified: 'goo...'
>
> >
>
> > Puzzling, to me at least.
>
> > Any comments?
>
> > This with Python 2.7.2 on Windows 7.
>
> > Is there a workaround?
>
> > Thanks,
>
> > John
>
>
>
> FWIW, it seems to work okay here in Linux 11.04, both Python 2.7 and 3.2
>
>
>
>
>
> --
>
>
>
> DaveA
Thanks, I agree, I expect this is Windows 7 or win32 specific.
Also, in creating a test case to demonstrate, I may have clouded my intent.
I want to walk() a dir,
reporting the output of os.stat() for files below the dir.
One of the existing files happens to be named like "goo..."
And os.stat('goo...') fails to see the file.
I am not trying to rename the file, just hoping to stat an existing file.
John
More information about the Python-list
mailing list