Я новичок в python и кодировании вообще. Я потратил много времени, пытаясь исправить эту ошибку, но я не могу понять, как это сделать. У меня есть основная папка, содержащая подпапку, я хочу перенести файлы из основной папки в подпапку. Это должно быть сделано легко os.rename
или shutil.move
, но я не могу исправить эту ошибку. Ниже приведен код, который я использую, и ошибка, которую я получаю.ошибка пути os.rename при перемещении файла в подкаталог
cdir=os.getcwd()
newdir=cdir+"\subfolder"
src=os.path.join(cdir, fname)
dst=os.path.join(newdir, fname)
os.rename(src,dst)
Ошибка показывает двойную обратную косую черту в пути каталогов т.е.
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'E:\\ folder\\fname' -> 'E:\\folder\\subfolder\\fname'
правильный путь будет с одиночными обратной косой черты. Я использую windows 8.1 и python34. Кто-нибудь может мне с этим помочь. Я знаю, что этот вопрос должен быть дубликат, но я не могу понять, что я делаю неправильно. Аналогичная ошибка возникает с shutil.move
Может быть неправильно, но я бы подумал, что newdir = cdir + "\ subfolder" нуждается в двойной косой чертой, чтобы избежать ее. –
@RodHyde: '\ s' не является допустимой escape-последовательностью, так что это не проблема. Тем не менее, использование 'os.path.join (cdir, 'subfolder')' было бы лучше, если бы 'os.path.abspath ('подпапка')' была лучшей (так как она будет основываться на текущей рабочей директории). –
Двойная обратная косая черта просто означает, что обратная косая черта сбежала; Python показывает вам сообщение об ошибке как строку, которую вы можете скопировать, чтобы воспроизвести точное значение. У вас есть ** другая ** проблема. –