(请帮助我澄清标题)
这是我想做的:
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/