Python在使用时会去掉引号os.geten公司

2024-03-28 19:49:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我对不同的字符串数组有困难。以前,只有属性文件中有字符串数组。目前,系统在属性文件中有字符串数组,并在用户的.bashrc文件中设置为环境变量。在properties和.bashrc文件中,字符串数组如下所示。在

STRING_ARRAY="host1","host2","host3"

以前,有一对简单的for循环读取一系列字符串数组并将它们传递给某个函数。在

^{pr2}$

这很有效。当一些变量从传递到python脚本和环境变量的属性文件中移出时,问题就出现了。似乎在使用操作系统.getenv(“HOSTSTRINGARRAY”)或操作系统环境[“HOSTSTRINGARRAY”],操作系统库返回不带引号的字符串数组,因此

PROPERTIES_STRING_ARRAY="host1","host2","host3"
print PROPERTIES_STRING_ARRAY

退货

"host1","host2","host3"

鉴于

ENV_VAR_STRING_ARRAY="host1","host2","host3"
print os.getenv("ENV_VAR_STRING_ARRAY")

退货

host1,host2,host3

这是一个问题,因为我不能像下面这样混合和匹配这两种类型的变量

for k in ("POPERTIES_STRING_ARRAY",os.getenv("ENV_VAR_OTHER_ARRAY")):
   globals()[k] = globals()[k].replace("\"",'').split(",")

for stringarray,otherarray in zip(STRING_ARRAY, os.getenv("ENV_VAR_OTHER_ARRAY")):
   someFunction(stringarray,otherarray)

所以我的问题是,如何获得操作系统.getenv或者操作系统环境返回一个逗号分隔的字符串列表,而不去掉包含各个字符串的引号?在


Tags: 文件字符串envforstring属性osvar
1条回答
网友
1楼 · 发布于 2024-03-28 19:49:26

使用'单引号声明字符串。现在应该有用了。在

ENV_VAR_STRING_ARRAY='"host1","host2","host3"'

相关问题 更多 >