删除输出中的括号和引号

时间:2017-01-25 23:17:39

标签: python python-3.x

我有一些我正在使用的功能,并且我尝试使用.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

1 个答案:

答案 0 :(得分:2)

首先,cmd成为一个列表,通过展开周围[.....]

将其更改为字符串
cmd = 'raidcom {} -s {} -I{}'.format(list(args),
      storage_id, horcm_num)

list(args)storage_idhorcm_num是列表。它们需要作为字符串的参数传递,而不是列表;使用func(*...)将列表扩展为参数:

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