Пакетное переименование SVN - PullRequest
       7

Пакетное переименование SVN

1 голос
/ 29 сентября 2011

Я пытаюсь переименовать некоторые файлы в SVN.У меня проблема, когда в некоторых файлах есть пробел.когда я пытаюсь запустить, я получаю эту ошибку:

svn: Cannot copy path '00009.png' into its own child '00009.png'

мой код:

import subprocess.call
call("svn rename " + "test 00009.png" + " test1 00009.png")

выглядит так, как будто он расщепляется на пустом месте.есть идеи?

Ответы [ 2 ]

2 голосов
/ 29 сентября 2011

Обратная косая черта экранирует ваш пробел.

Итак:

import subprocess.call
call("svn rename " + r"test\ 00009.png" + r" test1\ 00009.png")

Синтаксис r'' означает, что python должен трактовать \ буквально, а не как экранирование в себе.Он передает их через SVN, где они рассматриваются как побеги.

1 голос
/ 29 сентября 2011

Это должно работать:

call("svn rename " + "\"test 00009.png\"" + " \"test1 00009.png\"")

В основном окружая все пути кавычками, что вы можете легко сделать, скажем что-то вроде

"\"%s\"" % file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...