如何将环境变量句子拆分为两个项目(变量,值)



我有一个脚本python,可以获取环境变量字符串并拆分为变量和值。

使用 python 拆分非常容易:

export_str = 'VAR1=VALUE1 VAR2=VALUE2'
for var_value in export_str.split(' '):
   var,value=var_value.split('=')
   print var, value

但问题是变量可能更复杂。

export_str = ''' VAR1="VALUE1 OTHER VALUE" VAR2=VALUE2 VAR3=VALUE_3 VAR4="${VALUE5}=VALUE6"'''

在这种情况下,python脚本是错误的。

有没有更好的方法来拆分这些变量?

编辑

或更复杂的情况,例如:

export_str = '''VAR5="VALUE'5" VAR6='VALUE"6' VAR7='VALUE7' '''
您可以使用

re进行拆分。

import re
export_str = 'VAR1="VALUE1 OTHER VALUE" VAR2=VALUE2 VAR3=VALUE_3 VAR4="${VALUE5}=VALUE6"'
re.split(r's(?=(?:[^"]*"[^"]*")*[^"]*$)',export_str)

请参阅演示。

https://regex101.com/r/uE6jQ1/7

最新更新