0
私はbash/optparseに奇妙な問題があります。私は文字列が定義されているときに私のpythonスクリプトに文字列を渡す必要があります。OptParse、空白、bash
私は次のコードを使用:私は、bashの式をテストするとき、それが働いているように見える
def main():
parser = OptionParser()
parser.add_option("-u", dest="url")
opts, args = parser.parse_args()
print opts.url
:
[email protected]:~$ URL="http://lol.com/my project/"
[email protected]:~$ echo `if [ -n "$URL" ]; then echo -u \"$URL\"; fi`
-u "http://lol.com/my project/"
しかしとき
./lol.py `if [ -n "$URL" ]; then echo -u \"$URL\"; fi`
、ここではPythonスクリプトです私は引数付きのPythonスクリプトを実行します
[email protected]:~$ ./lol.py `if [ -n "$URL" ]; then echo -u "$URL"; fi`
http://lol.com/my
空白の後の文字列の一部を切り捨てます。
どうしてそれが起こっているのか、どうやって動作させるのか説明できますか?
Pythonのバージョンが2.7以上であれば、 'argparse'モジュールの使用をお勧めします。 optparseモジュールの使用は推奨されていません(http://docs.python.org/library/optparse.html) – sateesh