shutil.copy () между источником и местом назначения с ошибкой: FileNotFoundError: [WinError 3] Системе не удается найти указанный путь - PullRequest
0 голосов
/ 19 февраля 2020

Я копирую между двумя папками, исходной папкой, содержащей несколько подкаталогов, и местом назначения, которое является пустой папкой. Я обнаружил некоторые ошибки в моем глобе с использованием shutil.copy ():

def copy_files(old_dir, new_dir) -> str:
    for files in old_dir.rglob('*.xlsx'):   #iterate through directory
       if files.match("string_title"):   #filter results matching "string title"
           new_path= new_dir.joinpath(files)   #join file name to new_dir
           if Path.exists(new_path):   #if file already exists in new_dir, pass
               pass
           else:   #if file doesn't exist in new_dir, copy old file to new
               try:
                   shutil.copy(files, new_path, follow_symlinks=True)
               except OSError as e:   #if FileNotFound or other OSError, raise
                   raise e

Я получаю сообщение об ошибке в подпапке, которая существует в моем каталоге, но отображается как "FileNotFoundError: [WinError 3] Системе не удается найти указанный путь ".

Кроме того, к моему коду применены следующие результаты оператора печати и чуть выше оператора If else:

"file is: \\user\name\origin\file.xlsx"
"new_dir is: \\user\name\destination"
"new_path is: \\user\name\origin\file.xlsx"

Кажется как new_dir.joinpath (файлы) работает не так, как хотелось бы, так как я надеялся найти что-то ближе к "\ user \ name \ destination \ file.xlsx"

Как бы я изменить это, чтобы предотвратить ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...