Я копирую между двумя папками, исходной папкой, содержащей несколько подкаталогов, и местом назначения, которое является пустой папкой. Я обнаружил некоторые ошибки в моем глобе с использованием 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"
Как бы я изменить это, чтобы предотвратить ошибку?