os.stat() distorts filenames that end with period (nt.stat())
Terry Reedy
tjreedy at udel.edu
Thu Sep 6 22:05:13 EDT 2012
On 9/6/2012 8: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?
Windows have restrictions on filenames. The restrictions are not
consistent in that some parts of Windows will let you make names that
other parts do not recognize or regard as illegal. I ran into this some
years ago and there may be a discussion on the tracker, but I have
forgetten the details except that one of the 'parts' was Windows
Explorer. This *might* be what you are running into.
--
Terry Jan Reedy
More information about the Python-list
mailing list