UbuntuLucentでpython2.6を実行していますが、特にスクリプトの呼び出しがRailsを介してOSから開始された場合(バッククォートを使用)、負のコマンドライン引数のマイナス記号を正しく解釈するのに問題があります。特に、マイナス記号はUTF-8として入ってくるようです。
コマンドライン引数が次のように手動で解釈される場合:
lng = float(sys.argv[4])
エラーが発生します:
ValueError: invalid literal for float(): ‐122.768
ハックとして、最初の3バイトを「\ xe2」、「\ x80」、および「\ x90」として照合し、それらを自分の負の符号に置き換えることで、これを回避できます。
コマンドライン引数がargparse(ver。1.2.1)を介して解釈される場合、次のようになります。
parser.add_argument('--coords', metavar='Coord', dest='coordinates', type=float, nargs=3, help='Latitude, Longitude, and Altitude')
エラーが発生します:
sC.py: error: argument --coords: invalid float value: '\xe2\x80\x90122.76838'
どんな助けでもいただければ幸いです!