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