在Python中将一个字符串转换成变量(类似于format()函数,但是相反)。

17 浏览
0 Comments

在Python中将一个字符串转换成变量(类似于format()函数,但是相反)。

我有形式为Version 1.4.0\nVersion 1.15.6\n的字符串,我想简单地从中提取出三个数字。我知道可以使用format方法将变量插入字符串中;基本上我想要反过来做这个操作,就像这样:

#所以我知道可以这样做:
x, y, z = 1, 4, 0
print 'Version {0}.{1}.{2}\n'.format(x,y,z)
#输出结果为'Version 1.4.0\n'
#但是我想要能够反过来做:
mystr='Version 1.15.6\n'
a, b, c = mystr.unformat('Version {0}.{1}.{2}\n')
#并且得到的结果是a, b, c = 1, 15, 6

我找到了另一个人提出了同样的问题,但是回复只适用于他们特定的情况:在解析时反向使用Python格式字符串

一个通用的答案(如何反向使用format())会很好!当然,一个针对我的特定情况的答案也会非常有帮助。

0