首页 > 解决方案 > Python在while循环中替换参数变量字符串

问题描述

我想将我的 PA_uat 环境命名替换为 uat 例如: PA_uat1 到 uat1 , PA_uat6 到 uat6 这是我的 test.py。我像 python test.py RAD4.09 PA_uat2 数据库一样运行它

import json
from datetime import datetime
from contextlib import redirect_stdout

version = str(sys.argv[1])

env = str(sys.argv[2])
script = str(sys.argv[3])
now = datetime.now()
# dt_string = now.strftime("%d/%m/%Y %H:%M:%S")
sdate = now.strftime("%d/%m/%Y %H:%M:%S")
print (sdate)

print("%s %s %s" % (version, env, script))
if env == "PA_uat1":
    env = env.replace("PA_uat1", "uat1")
elif env == "PA_uat2":
    env = env.replace("PA_uat2", "uat2")
.
.
elif env == "PA_uat10":
    env = env.replace("PA_uat10", "uat10")

此代码有效,我的环境被替换,并且可以在代码中进一步使用此环境。但我发现这是一个很长的代码。我使用while循环尝试了这个,它不替换env,如果我打印,它永远不会结束循环

i = 1
while i < 11:
    env = env.replace("PA_uat[i]", "uat[i]")
    print(env)

有什么方法可以在不使用 if 循环的情况下将我的环境从 PA_uat1 替换为 uat1?

标签: pythonpython-3.xpython-2.7

解决方案


你为什么不能用replace()!不管是PA_uat1还是PA_uat99!!

>>> env="PA_uat1"
>>> env.replace("PA_", "")
'uat1'
>>>

推荐阅读