文字列引数を受け入れるPythonスクリプトがあります。
$ python script.py "one image.jpg" "another image.jpg"
これは期待どおりに機能します。
Python argparse: ["one image.jpg", "another image.jpg"]
ファイル名を渡す必要がある場合は、
$ python script.py $(ls "/some/dir/*.jpg")
Python argparse: ["one", "image.jpg", "another", "image.jpg"]
-Q
of ls
コマンドを使用すると、二重引用符で結果を囲むことができます。ただし、引用符はPythonスクリプトでエスケープされたままです。
$ python script.py $(ls -Q "/some/dir/*.jpg")
Python argparse: ['"one image.jpg"', '"another image.jpg"']
ls
引数として使用するには、ファイル名を適切な文字列に拡張する方法を教えてください。(私の最初の例のように)
"$(ls -Q '/some/dir/*.jpg')"
。しかし、回答で述べられているように、より良い代替案があります。