Однако вопрос, почему бы вам не вызвать скрипт с переменной в качестве аргумента и не использовать sys.argv[] ?
На примере как-то так.
import os
import sys
import traceback
from java.io import *
from java.lang import *
wlDomain = sys.argv[1]
wlDomPath = sys.argv[2]
wlNMHost = sys.argv[3]
wlNMPort = sys.argv[4]
wlDPath="%s/%s" %(wlDomPath,wlDomain)
wlNMprop="/apps/bea/wls/scripts/.shadow/NM.prop"
try:
print "Connection to Node Manager"
print ""
loadProperties(wlNMprop)
nmConnect(username=NMuser,password=NMpass,host=wlNMHost,port=wlNMPort,domainName=wlDomain,domainDir=wlDPath,mType='ssl',verbose='true')
except:
print "Fatal Error : No Connection to Node Manager"
exit()
print "Connected to Node Manager"
Файл NM.prop представляет собой файл 600 с именем пользователя/паролем для NM.
РЕДАКТИРОВАТЬ :
Насколько я понимаю, вы хотите сделать что-то вроде этого:
URLS = ['t3s://Host1:Port1','t3s://Host2:Port2','t3s://Host3:Port3']
for urls in URLS:
connect('somebody','password',urls)
{bunch of commands}
disconnect()
И значения списка URL-адресов будут определяться средой.
Как я вижу, у вас есть 3 варианта:
- Иметь 1 сценарий для каждой среды, более или менее идентичный, за исключением списка URL-адресов.
- Иметь 1 скрипт, но с условным ветвлением на sys.argv[1] (среда в качестве параметра) и создать там список.
- Имейте 1 сценарий, который использует файл параметров для каждой среды в соответствии со средой. Каждый файл параметров, содержащий рассматриваемый список.
Что-то такое :
propENV = sys.argv[1]
propPath = "/path1/path2"
propFile = "%s/%s" %(propPath,propENV)
loadProperties(propFile)
Я бы, вероятно, сам использовал опцию файла свойств, поскольку она более гибкая с операционной точки зрения... по крайней мере, ИМХО.
person
Andre Gelinas
schedule
21.03.2014
bash_variable
в качестве параметраurl
? - person Andreas Fester   schedule 12.03.2014bash_variable
содержит что-то вродеconnect("weblogic", "weblogic", url="192.168.1.1:7001")
? - person Andreas Fester   schedule 12.03.2014exec
должно работать: stackoverflow.com/a/701813/1611055. Однако, когда я делал что-то подобное, я передавал имя пользователя, пароль и URL-адрес в качестве переменных среды и передал их вconnect
. С помощьюexec
вы можете выполнить любой код Python, хранящийся в вашей переменной, что может быть проблемой безопасности. - person Andreas Fester   schedule 12.03.2014