python - 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?
解决方案
你为什么不能用replace()
!不管是PA_uat1还是PA_uat99!!
>>> env="PA_uat1"
>>> env.replace("PA_", "")
'uat1'
>>>
推荐阅读
- c++ - 在 C++ 中定义 unique_ptr 时的 T 类与 T 类?
- r - 如何在 r 中列出远程 unix 服务器上的文件名?
- swift - 将 onChanged 回调添加到 SwiftUI 结构以发出值
- c# - 如何等待所有模式对话框异步关闭?
- android - io.realm.PermissionManager 无法识别
- gitlab - 关于 gitlab CI 运行器
- amazon-web-services - AWS Lambda 函数出现问题,在 cloudwatch 上调用错误
- sql-server - SQL Server:如果用户未绑定到登录名,是否可以在两个数据库之间同步用户 GUID?
- python - 在不生成服务帐户 client_secrets 的情况下访问 Google Analytics API
- reactjs - 调度后Reactjs推送路由