2017-03-10 8 views
1

私はポートをプルしてリストに追加する機能を持っています。リストに追加する前に一覧を整理する

avail_port = [['CL1-A', 'CL1-B', 'CL1-C', 'CL1-D', 'CL2-A', 
       'CL2-B', 'CL2-C', 'CL2-D', 'CL3-A', 'CL3-B', 
       'CL3-C', 'CL3-D', 'CL4-A', 'CL4-B', 'CL4-C', 
       'CL4-D']] 

それは1つの文字列にリストをオンjoin()方法では:私が原因デコード(「UTF8」)に次のネストされたリストを取得しますjoin()方法がなければ

def port_lookup(cmd=raidcom, a=awk): 
    chk_port = subprocess.Popen('{cmd} get port | {a}'. 
           format(cmd=cmd, a=a), stdout=subprocess.PIPE, 
           stderr=subprocess.PIPE, shell=True) 
    (out, err) = chk_port.communicate() 
    spl_port = out.split() 
    port_chk = ", ".join([k.decode("utf8") for k in spl_port]) 
    avail_port.append(port_chk) 
    return 

avail_port = ['CL1-A, CL1-B, CL1-C, CL1-D, CL2-A, 
       CL2-B, CL2-C, CL2-D, CL3-A, CL3-B, 
       CL3-C, CL3-D, CL4-A, CL4-B, CL4-C, 
       CL4-D'] 

ネストされておらず、個々の文字列に分割されるようにリストを追加するにはどうすればよいですか?

答えて

4

あなたは(は、リストの末尾にアイテムを追加します。)の代わりにappendの方法(が与えられたリスト内のすべての項目を追加することによって、リストを拡張します)list.extendを使用することができます文字列としてリストに参加する前に:

avail_port.extend([k.decode("utf8") for k in spl_port]) 
+0

@tobias_k良い点。修正された答え。指摘してくれてありがとう。 – Psidom

+0

それは動作します!ありがとう、Psidom! – Clarkus978

+0

ようこそ。うれしい! – Psidom

関連する問題