2017-07-26 20 views
0

パス 'doc1/*。png'を最初の引数として入力します。Python argvでワイルドカードパスを使用する

ただし、doc1/image1.pngに変換されます。

正確な引数を与えるにはどうすればよいですか?ほとんどのLinuxのシェル(bashshfish、...)に

img_list = [] print sys.argv[1] x = sys.argv[1] img_list = [img for img in glob.glob(x)]

+0

これはシェルレベルで行われています。 –

+0

Linuxで引用しよう: '' doc1/*。png "' –

+0

argがコマンドラインのような一重引用符で囲まれている場合、シェルはそれを展開すべきではありません。どのシェルを使っていますか? –

答えて

1

、アスタリスクは、シェルによって処理されます。 *がファイルリストに変換されたという事実は、すでにシェルレベルで行われています。

あなたが書く場合:**シェルはそう("doc/1.png" "doc/2.png"にそれがdocディレクトリで見つかっ.pngファイルのリストをdoc/*.pngを翻訳します

python file.py doc/*.png 

次のことを行う必要があり使用引用符が渡します。アスタリスクなど:

python file.py 'doc/*.png' 

標準のWindowsシェルはではありません。はファイル名にワイルドカードを使用します。

+0

これは正反対の問題があり、 'glob.glob'を使わなければならないウィンドウでは当てはまりません –

+0

@ Jean-FrançoisFabre:ありがとう。私はあなたが見るWindowsを使用しない:)私は[90年代のシェル](https://fishshell.com/)を好む:)。 –

関連する問題