我正在尝试制作一个程序来获取坐标并将它们放入变量所在的位置。这会获取预制件的整个文档,作为行列表,然后将其放在一起,所有这些都有效。当然,该字符串非常大,但我试图让它用程序中变量的值替换预制件中的所有变量,如下所示:
values.replace('x1 ',str(x1))
values.replace('x2 ',str(x2))
values.replace('x3 ',str(x3))
values.replace('x4 ',str(x4))
values.replace('x5 ',str(x5))
values.replace('x6 ',str(x6))
values.replace('x7 ',str(x7))
values.replace('x8 ',str(x8))
values.replace('y1 ',str(y1))
values.replace('y2 ',str(y2))
values.replace('y3 ',str(y3))
values.replace('y4 ',str(y4))
values.replace('y5 ',str(y5))
values.replace('y6 ',str(y6))
values.replace('y7 ',str(y7))
values.replace('y8 ',str(y8))
values.replace(' z1',str(z1))
values.replace(' z2',str(z2))
values.replace(' z3',str(z3))
values.replace(' z4',str(z4))
values.replace(' z5',str(z5))
values.replace(' z6',str(z6))
values.replace(' z7',str(z7))
values.replace(' z8',str(z8))
然而,当我 打印(值) 它只是给出原始字符串,看起来像这样,而不是在变量应该在的地方有数字。
solid
{
"id" "4"
side
{
"id" "7"
"plane" "(x1 y1 z1) (x2 y2 z2) (x3 y3 z3)"
"material" "DEV/DEV_BLENDMEASURE"
"uaxis" "[1 0 0 0] 0.25"
"vaxis" "[0 -1 0 0] 0.25"
"rotation" "0"
"lightmapscale" "16"
"smoothing_groups" "0"
}
side
{
"id" "8"
"plane" "(x6 y6 z6) (x5 y5 z5) (x4 y4 z4)"
"material" "DEV/DEV_BLENDMEASURE"
"uaxis" "[1 0 0 0] 0.25"
"vaxis" "[0 -1 0 0] 0.25"
"rotation" "0"
"lightmapscale" "16"
"smoothing_groups" "0"
}
side
{
"id" "9"
"plane" "(x2 y2 z2) (x4 y4 z4) (x5 y5 z5)"
"material" "DEV/DEV_BLENDMEASURE"
"uaxis" "[0 1 0 0] 0.25"
"vaxis" "[0 0 -1 0] 0.25"
"rotation" "0"
"lightmapscale" "16"
"smoothing_groups" "0"
}
side
{
"id" "10"
"plane" "(x8 y8 z8) (x6 y6 z6) (x7 y7 z7)"
"material" "DEV/DEV_BLENDMEASURE"
"uaxis" "[0 1 0 0] 0.25"
"vaxis" "[0 0 -1 0] 0.25"
"rotation" "0"
"lightmapscale" "16"
"smoothing_groups" "0"
}
side
{
"id" "11"
"plane" "(x3 y3 z3) (x5 y5 z5) (x6 y6 z6)"
"material" "DEV/DEV_BLENDMEASURE"
"uaxis" "[1 0 0 0] 0.25"
"vaxis" "[0 0 -1 0] 0.25"
"rotation" "0"
"lightmapscale" "16"
"smoothing_groups" "0"
}
side
{
"id" "12"
"plane" "(x1 y1 z1) (x7 y7 z7) (x4 y4 z4)"
"material" "DEV/DEV_BLENDMEASURE"
"uaxis" "[1 0 0 0] 0.25"
"vaxis" "[0 0 -1 0] 0.25"
"rotation" "0"
"lightmapscale" "16"
"smoothing_groups" "0"
}
editor
{
"color" "0 137 246"
"visgroupshown" "1"
"visgroupautoshown" "1"
}
}
最佳答案
替换返回新值,那么你应该这样做:
values = values.replace('x1 ',str(x1))
...
请记住,Python 中的字符串是不可变的。
关于python - 大字符串的某些部分不会被 str.replace() 函数替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35256460/