0
path = 'foo/{bar1,bar2}'
['foo/bar1'、 'foo/bar2']をbashシェルとして展開する方法は?私はglob、os.path.realpathを試しました。私はシャトルでも何も見ません。Pythonでシェルパス式を展開する
path = 'foo/{bar1,bar2}'
['foo/bar1'、 'foo/bar2']をbashシェルとして展開する方法は?私はglob、os.path.realpathを試しました。私はシャトルでも何も見ません。Pythonでシェルパス式を展開する
;)
paths = subprocess.check_output('bash -c "echo foo/{bar1,bar2}"', shell=True).split()
これを行う方法はありません。要素を抽出するための解析コードを書く必要があります。あなたはあなたのためにそれを行うにはbashを得ることができる
うん、良いシンプルなアイデア。これは組み込みのシャッタータイプのものがない限り、おそらく実際には最良の方法でしょう。 – mathtick
は、あなたのオリジナルに 'some {foo1、foo2}/bar'のようないくつかの空白があるとうまくいきません。 – nosklo
ああ、そうです。スペースは混乱を招くでしょう。私はそれを修正する良い方法を考えることはできません - あなたはスペースをエスケープすることができますが、分割は間違った項目を取得します。おそらく、途中でマーカーを置き換えてください(たとえば、それらが正常に表示されることを期待していない場合は_のように)。その後、途中で逆の置き換えを行います。 – Glenn