(请帮助我澄清标题)

这是我想做的:

s = "'arg1', 'arg2', foo='bar', baz='qux'"
def m(*args, **kwargs):
  return args, kwargs

args, kwargs = m(magic(s))
# args = ['arg1', 'arg2']
# kwargs = {'foo': 'bar', 'baz'='qux'}


magic()的解释是什么?

我自己解析该字符串是万不得已的方法,因为它充满陷阱(arg1中是否包含逗号?arg2中是否带有引号怎么办?等等)。

最佳答案

在定义了sm的情况下:

>>> args, kwargs = eval('m(%s)' % s)
>>> args
('arg1', 'arg2')
>>> kwargs
{'foo': 'bar', 'baz': 'qux'}

关于python - 使用字符串作为Python中不完整的代码位,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7534891/

10-12 23:05