Вы что-то думаете об этом?
>>> v1 = "foo"
>>> v2,v3,v4,v5 = 1,2,3,4
>>> s = "{v1}_{v2}_{v3}_{v4}_{v5}".format(v1="foo", v2=v2, v3=v3, v4=v4, v5=v5)
>>> s
'foo_1_2_3_4'
>>> s = "{v1}_{v2}_{v3}_{v4}_{v5}".format(**locals())
>>> s
'foo_1_2_3_4'
Для записи, однако, я бы этого не делал. Если переменные являются одними и теми же, то они должны быть вместе в некоторой структуре, из которой можно было бы получить значения без использования locals()
. Даже если это не так, я думаю, что я предпочел бы объединить их в отдельный файл вручную, а затем использовать это, прежде чем использовать locals()
таким образом.
[ Ред. Вы такой лицемер. Вы используете string.Template
и locals()
таким образом все время для создания наборов параметров файлов для моделирования. Не притворяйтесь, что вы этого не сделаете.
Me: Да, но я не хочу поощрять других людей забирать мои плохие привычки.
Ред. По крайней мере, вы должны признать, что вы считаете это полезным, если вы собираетесь притворяться более явным, чем ты, кодер.
Me: ...]
Я использую "** вары()" вместо "** местных жителей()" в сохранить нажатия клавиш. ;-) – Marmaduke