help with file path exceeding 255 characters

yguan08 at gmail.com yguan08 at gmail.com
Tue May 13 18:14:38 EDT 2008


On May 13, 4:38 pm, John Machin <sjmac... at lexicon.net> wrote:
> ygua... at gmail.com wrote:
> > I have trouble of obtaining the file size of a file because the
> > fullpath exceeds 255 characters. I get this message with
> > os.path.getsize(fullpath).
>
> > fullpath = r"\\LOSSSFS002\NWE_TECHNICAL\05. UK\Schiehallion (204_25a)
> > \Amos&Burke_P559\07. Technical (Subsurface)\06. Well Planning\Amos
> > \Daily Reports\Wireline\final_204_25a_8z\204_25a_8z\Run_1A
> > \HRLA_SP_DSI_PEX_HNGS_ECRD\ANCILLARY\Amos_204_25a-8Z_GR_to_surface_3-
> > Mar-2008_DSI_HRLA_TLD_MCFL_047PUC.las"
>
> > fsize = os.path.getsize(fullpath)
>
> > WindowsError: [Error 206] The filename or extension is too long:
>
> > The same thing with os.stat(fullpath).
>
> > I tried using the relative path, but it does not work with the message
> > fname not found.
>
> > dir = os.path.dirname(fullpath)
> > fname = os.path.basename(fullpath)
> > os.chdir(dir)
>
> I suspect that the cause of the problem here is that while *x OSes have
> just one current working directory, Windows has one cwd per drive.
>
> > filesize = os.path.getsize(fname)
>
> > Is there a walk around of this?
>
> At the DOS command level, you can do
>      subst x: very\long\path
> and then refer to
>      x:filestem.ext
> where x is any unused drive letter.
>
> This seems to work:
>
>  >>> import os
>  >>> os.system('subst x: c:\\junk')
> 0
>  >>> f = open('x:foo.py')
>  >>> f.read()
> "print 'hello'\n"
>  >>>
>
> HTH,
> John- Hide quoted text -
>
> - Show quoted text -

Good idea. But subst does not see to work with path that has spaces.
It gives "Incorrect number of parameters"




More information about the Python-list mailing list