On Jan 21, 2:13 pm, mynthon <mynth...@gmail.com> wrote: > On Jan 21, 11:50 am, mynthon <mynth...@gmail.com> wrote: > > > > > I have very long path on windows and i get error when try to get > > modification time. So i tried do chdir path and then get file. It now > > gives me error that file doesn't exists > > > # code > > def getmtimeWIN32(p): > > mycwd = os.getcwd() > > > if p.startswith('\\\\?\\'): > > p = p.replace('\\\\?\\', '', 1) > > > p = os.path.splitdrive(p) > > r = p[0] # root - dir name > > p = p[1] > > p = os.path.split(p) > > f = p[1] # filename > > d = p[0] > > l = d.split('\\'); > > > if r != '': # if root is not empty change to root (it not works > > when script is on other partition than file) > > os.chdir('/') > > > for i in l: > > if i != '': > > os.chdir(i) > > #print i > > print os.getcwd() > > os.path.getmtime(f) > > os.chdir(mycwd) > > # /code > > > it works for other files so i suppose it is not my fault. I know there > > is a win32 module but i can't find any documentation for it (what is > > the purpose to create app without docs?). Any idea? > > > I searched google but there where only 2 options. Use chdir (not > > working) or use win32api (where is no documentation). > > > (python 2.5) > > ok, what ive found: > > os.chdir('very_long_path') > # works > > os.listdir('very_long_path') > # gives: > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > TypeError: listdir() argument 1 must be (buffer overflow), not str > > os.chdir('very_long_path') > os.listdir('.') > #works > > os.chdir('very_long_path') > os.path.getmtime(os.listdir('.')[0]) > #throws exception (path not exists) > > os.chdir('very_long_path') > open(os.listdir('.')[0]) > #throws exception (path not exists)
i dont have a solution but workaround. I can map long path as drive: longPath = "c:\\documents and settings\\usermth\\my documents\ \......blablablabla" # map path as drive b: (notice "" around path to avoid problems with spaces) os.system('subst b: "%s"' % longPath) longPath = 'b:\\' -- http://mail.python.org/mailman/listinfo/python-list