Что эквивалентно в python этой строке кода в perl $ conf {svnlook} log --revision $ rev $ repo

1

Что эквивалентно в python для этой строки кода в perl

$conf{svnlook} log --revision $rev $repo

Я ищу в python для чего-то такого же аккуратного, как это...

  • 1
    Это команда Perl?
  • 0
    Это строка, которую я использовал в скрипте Perl ...
Показать ещё 1 комментарий
Теги:
format
formatting
string-formatting

3 ответа

3
Лучший ответ

Чтобы быть точным, у вас там нет команды perl, это форматированная строка... Предполагаю, что вы отправляете строчную команду в оболочку... для этого в python вы можете это сделать...

# assign conf as a dict()
# assign rev and repo as variables
import os
os.system('%s log --revision %s %s' % (conf['svnlook'], rev, repo))

ИЗМЕНИТЬ Чтобы ответить на вопрос о форматировании строк, строки шаблона python и формат python строки... Я продемонстрирую строки формата в оболочке python...

>>> 'Coordinates: {latitude}, {longitude}'.format(latitude='37.24N', longitude='-115.81W')
'Coordinates: 37.24N, -115.81W'
>>>

Однако это еще более подробно, чем perl

  • 0
    Это выглядит лучше Внешний вызов, а не команда Perl.
  • 0
    Я должен сказать, что в Perl это выглядит лучше, потому что они могут включать $ rev $ repo внутри самой строки, я бы хотел, чтобы это было в python !!! ничего подобного?
Показать ещё 3 комментария
4

Это не действительно действительный Perl. Вы уверены, что это было не так?

my $log = `$conf{svnlook} log --revision $rev $repo`;

Это вызов svnlook, внешняя программа, не входящая в Perl. Вы можете сделать то же самое в Python.

3
from subprocess import call
call([conf['svnlook'], 'log', '--revision', rev, repo])

Ещё вопросы

Сообщество Overcoder
Наверх
Меню