2009-08-07 6 views
0

私は、引数のスマートな完了を提供するためにreadlineを使うシンプルなシェルのようなプログラムを書いています。私は、この機構が空白を持つ引数をサポートすることを望んでおり、(シェルにそのようなものを与えるように)1つの引数として示すために引用されています。pythonのreadlineを使って行を引用符で処理する

shlex.split()は引用符で囲まれた引数を解析する方法を知っていますが、ユーザーがミッドタイプを完了したい場合は失敗します(例: 'complete' Hello ' )ので、アンバランス引用符で、のshlexに渡されたとき。

は?

ありがとう!

答えて

2

をこれを行うためのコードがあり、私は仕事のための既存のコードを知らないが、私はした場合これを行うには、例外をキャッチし、偽の後続の引用符を追加して、shlex.splitがそのように変更された文字列をどのように扱うかを確認してください。

+0

私はそれを考えましたが、あまり醜いものがあるかどうかを見たいと思っていました。それで、あなたは "or"などの両方を追加しようとしなければならないでしょう。それだけではありません。とてもかわいいです。 – abyx

+1

ユースケースがかなり複雑に見えるので、それほど美しいものではありません。 –

+0

他のオプションの欠如。 – abyx

関連する問題