Ваш вопрос неясен.Он вращается вокруг аргументов source & dest, передаваемых в copyfile:
sh.copyfile(data.FilePath[i], copydir)
Трудно сказать, какие пути вы извлекаете из .CSV, но, очевидно, исходные файлы могут иметь «неправильную» букву диска,и / или каталог назначения copydir
может иметь «неправильную» букву диска.Сценарий, очевидно, выполняется на нескольких машинах, и на этих машинах смонтированы различные буквы дисков.
Напишите вспомогательную функцию, которая находит «правильную» букву диска.Он должен принять путь, например, copydir
, затем проверить список поиска, а затем вернуть исправленный путь.
Имея список букв дисков, вы можете просмотреть их и проверить, существует ли путь, используя os.path.exists()
.Верните первый найденный.
Используйте splitdrive()
для анализа компонентов входного пути.
Предположим, что и для источника, и для приемника могут потребоваться исправленные буквы дисков.,Тогда вызов может выглядеть так:
sh.copyfile(fix_path(data.FilePath[i]), fix_path(copydir))