私は Google の Python 演習に取り組んでおり、コマンドラインからこれを実行できる必要があります。
python babynames.py --summaryfile baby*.html
python
Python シェルはどこにありますか、babynames.py
は Python プログラム、--summaryfile
はプログラムによって解釈される引数babynames
、はbaby*.html
式に一致するファイルのリストです。ただし、これは機能せず、問題が Windows コマンド シェルか Python のどちらにあるかわかりません。式はbaby*.html
ファイルの完全なリストに拡張されておらず、代わりに厳密に文字列として渡されています。このような方法で複数のファイルを Python プログラムに渡すことはできますか?
ベストアンサー1
Windows のコマンド インタープリターは、UNIX シェルのように、実行されたプログラムまたはスクリプトにワイルドカードを渡す前にワイルドカードを展開しません。
python.exe -c "import sys; print sys.argv[1:]" *.txt
結果:
['*.txt']
解決策:glob
モジュールを使用します。
from glob import glob
from sys import argv
for filename in glob(argv[1]):
print filename