Проблемы с функцией shutil copy2 - PullRequest
4 голосов
/ 12 марта 2020

Я использовал функцию copy2 для копирования файлов, и она отлично работала в системе Linux с исходными и целевыми каталогами в Linux. Недавно я попытался использовать общий файловый ресурс Windows в качестве бэкэнда и пытался скопировать файлы в мою систему linux. Код и отображаемая ошибка выглядят следующим образом:

for afile in self.task_files:
    copy2(os.path.join(self.uploads_directory, afile), self.files_directory)
    count += 1` 

Вывод:

Traceback (most recent call last):                                                                                                                                                                
File "/opt/backend/worker.py", line 43, in <module>                                                                                                                                               
task.initialize()                                                                                                                                                                             
File "/opt/backend/services/task.py", line 58, in initialize                                                                                                                                      
copy2(os.path.join(self.uploads_directory, afile), self.files_directory)                                                                                                                      
File "/usr/lib/python3.5/shutil.py", line 252, in copy2                                                                                                                                           
copystat(src, dst, follow_symlinks=follow_symlinks)                                                                                                                                           
File "/usr/lib/python3.5/shutil.py", line 219, in copystat                                                                                                                                        
_copyxattr(src, dst, follow_symlinks=follow)                                                                                                                                                  
File "/usr/lib/python3.5/shutil.py", line 151, in _copyxattr                                                                                                                                      
names = os.listxattr(src, follow_symlinks=follow_symlinks)                                                                                                                                  
OSError: [Errno 38] Function not implemented: '/data/uas/uploads/DJI_0049_vnbh0.JPG' 

Может ли функция copy2 не передавать файлы из-за операционной системы или это что-то еще? ? Также есть ли в python какие-либо другие функции, которые можно использовать для копирования файлов вместе с их метаданными?

...