python中的等效于perl $ conf {svnlook} log --revision $ rev $ repo中的代码行

问题描述

| python中相当于perl中此代码行的内容
$conf{svnlook} log --revision $rev $repo
我正在python中寻找整洁的东西...     

解决方法

确切地说,您所拥有的不是一个perl命令,而是一个格式化的字符串...我假设您正在向shell发送一个字符串命令...要在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 shell中演示格式字符串...
>>> \'Coordinates: {latitude},{longitude}\'.format(latitude=\'37.24N\',longitude=\'-115.81W\')
\'Coordinates: 37.24N,-115.81W\'
>>>
但是,这仍然比“ 3”更为冗长     ,那不是真的有效的Perl。您确定不是这样吗?
my $log = `$conf{svnlook} log --revision $rev $repo`;
那就是调用svnlook程序,它不是Perl的一部分。您可以在Python中执行相同的操作。     ,
from subprocess import call
call([conf[\'svnlook\'],\'log\',\'--revision\',repo])