在Python中使用optparse
來處理Unix樣式通配符參數的正確方法是什麼?我有:從Python的命令行讀取Unix通配符文件名
myscript.py:
from optparse import OptionParser
parser = OptionParser()
parser.add_option("--input", dest="input", default=None, nargs=1)
parser.add_option("--outdir", dest="outdir", default=None, nargs=1)
(options, args) = parser.parse_args()
我希望能夠做到:
myscript.py --input *.txt --outdir mydir/
我不想讀不一定所有的文件匹配*.txt
內容。我想要myscript.py
訪問它們的文件名,因爲有些腳本只是將文件名傳遞給其他程序而不需要打開/讀取文件。我怎樣才能得到一個返回文件名的迭代器,同時仍然允許其他參數如--outdir
在通配符友好選項(在這種情況下爲--input
)之後傳遞?謝謝。
您是否考慮到UNIX shell會自行擴展此glob? – wRAR 2013-02-24 00:06:38
@wRAR如果他們擴大它,這是否意味着我通過了一個文件名列表?如果* .txt總是被翻譯爲a.txt,b.txt,...等,那就沒有問題了。但我不認爲這會發生什麼 – user248237dfsf 2013-02-24 00:07:58
是的,它將被擴展爲空格分隔的文件名列表。 – wRAR 2013-02-24 00:21:20