2017-01-25 23 views
1

私は働いている機能をいくつか持っていますが、.split()を使って括弧を削除しようとしましたが、括弧と引用符はまだ出力に表示されています。私は多くの異なる機能の中でfn_run_cmdを呼び出すことを計画しているので、私は機能を分けています。以下は出力で角かっこを取り除く

def fn_run_cmd(*args): 
    cmd = ['raidcom {} -s {} -I{}'.format(list(args), 
      storage_id, horcm_num)] 
    print(cmd) 

def fn_find_lun(ldev, port, gid): 
    result = fn_run_raidcom('get lun -port {}-{}'.format(port, gid)) 
    return(result) 
    match = re.search(r'^{} +{} +\S+ +(?P<lun>\d+) +1 +{} '.format(
        port, gid, ldev), result[1], re.M) 
    if match: 
     return(match.group('lun')) 
    return None 

私は取得しています出力されます:

"raidcom ['get lun -port CL1-A-2'] -s [987654] -I[99]" 

望ましい結果:

raidcom get lun -port CL1-A-2 -s 987654 -I99 
+0

string.replace()メソッドを使用してみましたか? –

答えて

2

まず、cmd[.....]を取り巻くアンラップことにより、文字列になるためにそれを変更し、リストになります

cmd = 'raidcom {} -s {} -I{}'.format(list(args), 
     storage_id, horcm_num) 

list(args),storage_id,horcm_numがリストです。それらは、リストではなく文字列の引数として渡す必要があります。 func(*...)を使用してリストを引数に展開してください:

関連する問題