Создание functools.partial * args & * kwargs из проанализированных строк

Мне передают списки строк, которые я хотел бы преобразовать в вызовы методов с помощью functools.partial:

[ 'object1.method1(arg1, arg2, 4, key=value)', 'object2.method2(6, arg1)' ...]

Легко используйте регулярное выражение, чтобы сгенерировать необходимый аргумент func для functools.partial, но у меня чертовщина времени легко преобразовывать строку в скобках в допустимые * args и ** kwargs для передачи в functools.partial.

Каждый элемент списка гарантированно соответствует Python. Я просто не могу придумать быстрый и простой способ преобразовать строки, такие как 'arg1, arg2, 4, key = value', в то, что может использовать functools.partial. Что мне не хватает?

Обновление:

Мои извинения. Я забыл важную информацию. Аргументы не являются допустимыми идентификаторами в рамках этой процедуры, поэтому eval не работает. Однако они Моя текущая процедура возвращает строку 'arg1, arg2, 4, this = that'. Если передается непосредственно в functools.partial, functools.partial "обертывает" его как единственный строковый аргумент.

Хммм ... чем больше я это описываю, тем больше я понимаю, что нет способа сделать это, если эти идентификаторы не действительны в пределах этот объем ...

1
задан JS. 13 October 2010 в 16:28
поделиться