Escape 'в Python - PullRequest
       16

Escape 'в Python

0 голосов
/ 07 ноября 2011

Какой правильный код для этого случая:

p = subprocess.Popen(["git", "log" , "-1",  "--pretty=format:\'%s %n%n%b\'", hash], 
  stdout=subprocess.PIPE)
out, err = p.communicate()
print out
message += '\n' + out

Я всегда получаю эту ошибку:

fatal: ambiguous argument '': unknown revision or path not in the working tree.
output: Use '--' to separate paths from revisions

и я в рабочем дереве.

Ответы [ 2 ]

6 голосов
/ 07 ноября 2011

Поскольку вызов не анализируется оболочкой, кавычки вообще не нужны:

p = subprocess.Popen(
    ["git", "log" , "-1",  "--pretty=format:%s %n%n%b", hash],
    stdout=subprocess.PIPE)
0 голосов
/ 07 ноября 2011

Я не уверен, хотите ли вы включить обратную косую черту или нет, поэтому я просто поместил это здесь

>>> s = "--pretty=format:\'%s %n%n%b\'"
>>> print s
--pretty=format:'%s %n%n%b'
>>> s2 = "--pretty=format:'%s %n%n%b'"
>>> print s2
--pretty=format:'%s %n%n%b'
>>> s3 = "--pretty=format:\\'%s %n%n%b\\'"
>>> print s3
--pretty=format:\'%s %n%n%b\'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...