Копирование файлов Python на SMB Network Share - PullRequest
0 голосов
/ 10 сентября 2018

У меня есть вопрос относительно копирования файлов по сети с помощью Python.Недавно я создал сценарий для моего отдела на работе, чтобы иметь возможность перетаскивать файлы и копировать их и переименовывать из исходного местоположения (на сетевом диске) в указанное пользователем местоположение (также в основном на сетевом диске, но иногда на рабочем столе пользователя).).Проблема, с которой я сталкиваюсь, состоит в том, что случайно не вначале выводит все файлы, которые он тоже хотел.Если предполагается сделать 5 копий, иногда на самом деле будут выводиться только 3 или 4 копии.Если тот же файл (ы) снова удаляется с теми же параметрами, он обычно выводит остальные файлы без проблем.

Это смущает меня из-за непоследовательности этого.Если это происходило каждый раз, или не исправлял после повторного отбрасывания, я бы назвал это логической ошибкой в ​​моем скрипте, но здесь это не применимо, поскольку это простоскопировать команду.Я попробовал следующие 3 команды копирования (по отдельности), и все они выдают этот результат случайным образом.

os.system('echo f | xcopy /f /y "{source}" "{target}"'.format(source=source, target=target))
shutil.copyfile(source, target)
shutil.copy2(source, target)

Я только что подумал, что это просто проблема с нашей сетью, как, возможно, сценарий отправляет копиюкоманды быстрее, чем сеть, может их обработать, но я не знаю достаточно о сети, чтобы знать, возможно ли это. Так может ли эта проблема быть просто проблемой с нашей настройкой сети или есть лучший способ для копирования нескольких файлов одновременно по сети с Python для обеспечения согласованности? Для записи нашей сетиэто сетевой ресурс SMB, и файлы обычно копируются с одного картографического диска на другой (или рабочий стол пользователя).

Это сводит меня с ума, потому что пользователи продолжают жаловаться на это.Любой совет, который можно было бы дать, был бы чрезвычайно полезен.Заранее спасибо.

...