2016-07-13 14 views
0

いくつかのwsadminコマンドの出力を他のコマンドで使用しようとしていますが、出力をループすると1行に1文字しか印刷されないようです。私の他のコマンドを爆破する。これを行ごとに1文字印刷しないようにするには、何を追加する必要がありますか?1行に1文字のwsadminの印刷結果

cell_name = AdminControl.getCell() 
# Get the DMGR Complete Object Name 
dmgr_object_name = AdminControl.completeObjectName('WebSphere:name=DeploymentManager,type=DeploymentManager,mbeanIdentifier=DeploymentManager,*') 
# Get the full Application Manager string. 
appManager = AdminControl.queryNames('cell=' + cell_name + ',type=ApplicationManager,*') 

for jvm in appManager : 
    print(jvm) 

答えて

0

回答がJava lineseparatorに

# get line separator 
import java.lang.System as sys 
lineSeparator = sys.getProperty('line.separator') 
# Get the Cell Name 
cell_name = AdminControl.getCell() 
# Get the DMGR Complete Object Name 
dmgr_object_name = AdminControl.completeObjectName('WebSphere:name=DeploymentManager,type=DeploymentManager,mbeanIdentifier=DeploymentManager,*') 
# Get the full Application Manager string. 
appManager = AdminControl.queryNames('cell=' + cell_name + ',type=ApplicationManager,*').split(lineSeparator) 

をインポートすることですこれは、結果を適切に分割することができます。

1

@ Predのアプローチに補足的な回答を追加し、いくつかの追加説明を追加します。

は、次のようになります stringオブジェクトを返します AdminControl.queryNames('cell=RandomCell1,type=ApplicationManager,*')クエリを、明確にする:

'WebSphere:name=ApplicationManager,process=server1,platform=proxy,node=Node1,version=8.5.5.5,type=ApplicationManager,mbeanIdentifier=ApplicationManager,cell=RandomCell1,spec=1.0\nWebSphere:name=ApplicationManager,process=dmgr,platform=proxy,node=Dmgr,version=8.5.5.5,type=ApplicationManager,mbeanIdentifier=ApplicationManager,cell=RandomCell1,spec=1.0'

ので、forループプリント順番に各文字を使用して上記の文字列を反復処理します。

上記の文字列では、各エントリは\n(改行)文字で区切られています。したがって、文字列を\n文字で分割します。

AdminControl.queryNames('cell=RandomCell1,type=ApplicationManager,*').split('\n')

これは、1つのオブジェクトに対応するエントリでその各々は、文字列のリストを返します。リストには、その後、以下のいずれかのように見えます:リストを反復

['WebSphere:name=ApplicationManager,process=server1,platform=proxy,node=Node1,version=8.5.5.5,type=ApplicationManager,mbeanIdentifier=ApplicationManager,cell=RandomCell1,spec=1.0', 'WebSphere:name=ApplicationManager,process=dmgr,platform=proxy,node=Dmgr,version=8.5.5.5,type=ApplicationManager,mbeanIdentifier=ApplicationManager,cell=RandomCell1,spec=1.0']

つの完全な文字列として各エントリを返します。