0

i have a problem with my script when it encouters a very long path. it raises an error. is there any way to bypass this error? here is my code `

import os
import sys
import filecmp
import shutil

source = "C:/Users/Omar/Documents/Welo - copy/"
dest = "C:/Users/Omar/Documents/Welo/"



def back_up(dircmpp):

    for name in dircmpp.diff_files:

    print("copying {} from {} to {} ".format(name, dircmpp.left, dircmpp.right))
    shutil.copyfile(dircmpp.left + "/{}".format(name), dircmpp.right + "/{}".format(name))
    
    for name in dircmpp.left_only:
    
        if os.path.isdir(dircmpp.left+"/{}".format(name)):
        
        print("copying tree" , "{}{} \n".format(dircmpp.right,name))
        shutil.copytree("{}/{}".format(dircmpp.left, name), "{}/{}".format(dircmpp.right,name))
        else:
        
        shutil.copyfile(dircmpp.left+"/{}".format(name), dircmpp.right+"/{}".format(name))
        
    for name in dircmpp.subdirs.values():
        print(name.left, " -- " , name.right)
        newdir = filecmp.dircmp(name.left,name.right)
        back_up(newdir)
    
        
thedir = filecmp.dircmp(source, dest)
back_up(thedir)

i tested the script and it works as long the path is short < 250 but when it gets long i get an error destination not found

`

Error: [('C:/Users/Omar/Documents/Welo - copy/test1\\test2\\asjkhdkajshdkjahdskjhasdjhakjdshakjshdkjashdkjahsdkjhaskjdhaksjdhkajhdkahsdjhaskjdhkashdk\\sjkahdkjashdkjahdjkahdkjhajkshdkjashdkjahsdkjahdkjhakdjahkdjhaskdhjashkdjasjshd/d0\\d2\\d3\\jsjsjdjdjdjfjfjfjjffjjfjfjfjfjfjfjfjfjfjfjfjfjfjfjfjfjf - Copy.txt', 'C:/Users/Omar/Documents/Welo/test1\\test2\\asjkhdkajshdkjahdskjhasdjhakjdshakjshdkjashdkjahsdkjhaskjdhaksjdhkajhdkahsdjhaskjdhkashdk\\sjkahdkjashdkjahdjkahdkjhajkshdkjashdkjahsdkjahdkjhakdjahkdjhaskdhjashkdjasjshd/d0\\d2\\d3\\jsjsjdjdjdjfjfjfjjffjjfjfjfjfjfjfjfjfjfjfjfjfjfjfjfjfjf - Copy.txt', "[Errno 2] No such file or directory: 'C:/Users/Omar/Documents/Welo - copy/test1\\\\test2\\\\asjkhdkajshdkjahdskjhasdjhakjdshakjshdkjashdkjahsdkjhaskjdhaksjdhkajhdkahsdjhaskjdhkashdk\\\\sjkahdkjashdkjahdjkahdkjhajkshdkjashdkjahsdkjahdkjhakdjahkdjhaskdhjashkdjasjshd/d0\\\\d2\\\\d3\\\\jsjsjdjdjdjfjfjfjjffjjfjfjfjfjfjfjfjfjfjfjfjfjfjfjfjfjf - Copy.txt'"), ('C:/Users/Omar/Documents/Welo - copy/test1\\test2\\asjkhdkajshdkjahdskjhasdjhakjdshakjshdkjashdkjahsdkjhaskjdhaksjdhkajhdkahsdjhaskjdhkashdk\\sjkahdkjashdkjahdjkahdkjhajkshdkjashdkjahsdkjahdkjhakdjahkdjhaskdhjashkdjasjshd/d0\\d2\\jsjsjdjdjdjfjfjfjjffjjfjfjfjfjfjfjfjfjfjfjfjfjfjfjfjfjf - Copy.txt', 'C:/Users/Omar/Documents/Welo/test1\\test2\\asjkhdkajshdkjahdskjhasdjhakjdshakjshdkjashdkjahsdkjhaskjdhaksjdhkajhdkahsdjhaskjdhkashdk\\sjkahdkjashdkjahdjkahdkjhajkshdkjashdkjahsdkjahdkjhakdjahkdjhaskdhjashkdjasjshd/d0\\d2\\jsjsjdjdjdjfjfjfjjffjjfjfjfjfjfjfjfjfjfjfjfjfjfjfjfjfjf - Copy.txt', "[Errno 2] No such file or directory: 'C:/Users/Omar/Documents/Welo - copy/test1\\\\test2\\\\asjkhdkajshdkjahdskjhasdjhakjdshakjshdkjashdkjahsdkjhaskjdhaksjdhkajhdkahsdjhaskjdhkashdk\\\\sjkahdkjashdkjahdjkahdkjhajkshdkjashdkjahsdkjahdkjhakdjahkdjhaskdhjashkdjasjshd/d0\\\\d2\\\\jsjsjdjdjdjfjfjfjjffjjfjfjfjfjfjfjfjfjfjfjfjfjfjfjfjfjf - Copy.txt'")]

`

omar magdi
  • 36
  • 3
  • 1
    Sounds like a duplicate of [this](https://stackoverflow.com/questions/14075465/copy-a-file-with-a-too-long-path-to-another-directory-in-python) – DerMaddi Feb 26 '21 at 10:36
  • I tried this solution but didn't work !!! or I implemented it wrong – omar magdi Feb 26 '21 at 10:39

0 Answers0