我是python的新手并且编写了一个脚本,它将从两个配置文件中提取一些URL。以下是截至目前的脚本正文:
import os
import sys
import logging
logger = logging.getLogger('check_store')
logger.setLevel(logging.DEBUG)
env= raw_input("Enter environmentname (ex. dev/qa/prod): ")
cust= raw_input("Enter customer name: ")
engage_properties= '/opt/engage/engageconf.properties'
symmetric_properties= '/opt/engage/symmetric.properties'
with open ("%s" % (engage_properties)) as inF:
for line in inF:
if ("%s-%s.%sfqdn.com" % (env,cust,env)) in line:
print line
输出如下:
Enter environmentname (ex. dev/qa/prod): qa
Enter customer name: cust
connect.rest.address=http://connect.qa-cust.qafqdn.com
connect.rest.ssl.address=https://connect.qa-cust.qafqdn.com
connect.rest.giftregistry.service=http://connect.qa-cust.qafqdn.com:8280/services
receipt.server.host=engage.central.qa-cust.qafqdn.com
我想要完成的是让脚本专门查找以下内容,如上所示:
connect.rest.address=
connect.rest.ssl.address=
connect.rest.giftregistry.service=
如果其中一个不正确,则向用户报告。 因此,如果我在提示时输入:'qa'表示env名称,'cust'表示客户名称,如果其中任何一个URL的格式不是这样的话:
connect.qa-cust.qafqdn.com
然后它将告诉用户三个URL变量中的哪一个未正确格式化。
所以,澄清..如果'connect.rest.ssl.address ='不等于我提供的输入(等于qa-cust.qafqdn.com),但其余的都没有,那么我会看到错误如:
connect.rest.address - OK
connect.rest.ssl.address - ERROR: does not match value provided
connect.rest.giftregistry.service - OK
此脚本基本上是一个环境健全检查程序。 我试图尽可能清楚地表明这一点,并感谢你的帮助。
答案 0 :(得分:0)
我不确定我是否正确理解了这个问题,但是如果您希望文件中的任何一行都具有正确的属性,那么如果该行具有部分但不是所有正确的格式,则它是错误的。
with open ("%s" % (engage_properties)) as inF:
for line in inF:
if ("%s-%s.%srhythmforstores.com" % (env,cust,env)) in line:
print line
elif "rhythmforstores.com" in line:
print error_message