Я пытаюсь написать сценарий, в котором он переместит каталог (содержащий изображения для обработки) в другой выделенный рабочий каталог (в папке проекта) с помощью shutil.move()
. Однако мой сценарий Python продолжает терпеть неудачу, выдавая исключение [Errno 2] No such file or directory: '/Users/user/Desktop/Captured\\ Images'
.
Целевой каталог полностью распознается, так что проблема не в этом.
Я сейчас используя macOS для разработки этого скрипта и используя стандартный BASH.
Вот как я ввожу путь к исходному каталогу (перетаскивая папку в терминал): /Users/user/Desktop/Captured\ Images
.
Вот как Python интерпретирует исходный каталог: /Users/user/Desktop/Captured\\ Images
.
Скрипт отлично работает, когда я изменяю исходный путь на: /Users/user/Desktop/Captured Images
.
Я также пробовал использовать модуль Pathlib для предотвращения проблем с разделителем файлов, но это тоже не сработало.
Я точно знаю, что причиной проблемы является \
в пути к файлу, поскольку папка называется «Захваченные изображения» с пробелом между ними, таким образом, Captured\ Images
.
Вот следующий исходный код:
move_directory(input("Please Input The Directory Of The Captured Images You Would Like To Import: "))
def move_directory(source_directory):
try:
shutil.move(source_directory, os.path.dirname(os.path.dirname(__file__)) + '/Captured Images/Source Images')
except OSError as errorMessage:
print("Failed To Move Directory: {0}".format(errorMessage))
Обновление 1:
Я просто попытался переместить каталоги с помощью subprocess.run(["mv", ...])
, и это сработало, Итак, теперь я вижу, что это не то, как сценарий принимает ввод, а проблема между вводом пути и shutil.move()
.