(请帮我澄清一下标题)
这就是我想做的:
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 中有引号怎么办?等等)。
最佳答案
按照您的定义定义 s
和 m
:
>>> args, kwargs = eval('m(%s)' % s)
>>> args
('arg1', 'arg2')
>>> kwargs
{'foo': 'bar', 'baz': 'qux'}
关于python - 在 Python 中使用字符串作为不完整的代码位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7534891/